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

问题描述 投票:0回答:2

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

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
  • 那么如何输出所有的值?
c# wpf for-loop dynamic
2个回答
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
投票

因为你需要两个for用于2D阵列:

for (int i = 0; i < Tablevalues.GetLength(0); i++)
{
  for (int j = 0; j < Tablevalues.GetLength(1); j++)
  {
    MessageBox.Show(Tablevalues[i, j].ToString());
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.