如何从c#中循环动态列表中获取所有值?

时间:2017-02-19 17:14:56

标签: c# wpf for-loop dynamic

我有一个像这样的动态列表:

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()  );             
      } 

但&#34; Tablevalues[i, i]&#34;的结果只告诉我:

1  ,           ,   
   ,SecondName , 
   ,           ,33333333333333
  • 那么如何输出所有值?

2 个答案:

答案 0 :(得分:2)

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

您只有一个循环变量,因此您只能从0, 01, 1 ...循环到Length - 1, Length - 1(即对角线)。

使用两个for - 循环以及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());
    }
}

答案 1 :(得分:1)

因为2d数组需要两个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());
  }
}