我有一个像这样的动态列表:
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
答案 0 :(得分:2)
for (int i = 0; i < Tablevalues.Length; i++) {
MessageBox.Show(Tablevalues[i, i].ToString());
}
您只有一个循环变量,因此您只能从0, 0
,1, 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());
}
}