2017-02-19 4 views
0

私はこのような動的なリストがあります:どのようにC#で動的リストをループからすべての値を取得する?

dynamic[,] Tablevalues = { 
         { 1  ,"FirstName"  , 11111111111111 }, 
         { 2  ,"SecondName"  , 22222222222222 }, 
         { 3  ,"ThirdName"  , 33333333333333 } 
         }; 

をし、それは私が私の.mdfファイルのデータベースにそれを後で追加することができ、私はループにしたい、と私はこれまで試したことはある:

for (int i=0; i<Tablevalues.Length; i++){ 

     // ----- output just for test ------ 
     MessageBox.Show( Tablevalues[i, i].ToString() );    
     } 

しかし「Tablevalues[i, i]」の結果は、私だけを示しています。

1 ,   , 
    ,SecondName , 
    ,   ,33333333333333 
  • ので、どのように出力されるすべての値?あなただけLength - 1, Length - 1まで... 0, 01, 1からループしているよう

答えて

2
for (int i = 0; i < Tablevalues.Length; i++) { 
    MessageBox.Show(Tablevalues[i, i].ToString()); 
} 

あなただけの、1つのループ変数を持っている(つまり、対角線。)

使用2 for -loopsを、一緒にGetLength(dimension)を使用して行/列を取得します。

ような何か:

for (int i = 0; i < Tablevalues.GetLength(0); i++) { 
    for (int j = 0; j < Tablevalues.GetLength(1); j++) { 
     MessageBox.Show(Tablevalues[i, j].ToString()); 
    } 
} 
+3

はコードが完璧に動作し、説明は:) –

1

あなたが2D配列のための2つのforを必要とするので:

for (int i = 0; i < Tablevalues.GetLength(0); i++) 
{ 
    for (int j = 0; j < Tablevalues.GetLength(1); j++) 
    { 
    MessageBox.Show(Tablevalues[i, j].ToString()); 
    } 
} 
+0

感謝の背後にある理由を理解することは良かった、ありがとうございましたあなたは完璧に動作します:) –

関連する問題