你如何循环多维数组?

ora*_*nge 18 .net c# arrays multidimensional-array c#-4.0

foreach (String s in arrayOfMessages)
{
    System.Console.WriteLine(s);
}
Run Code Online (Sandbox Code Playgroud)

string[,] arrayOfMessages 正在作为参数传入.

我希望能够确定哪些字符串是从arrayOfMessages[0,i]arrayOfMessages[n,i],那里n是阵列的最终指标.

svi*_*ick 39

只需使用两个嵌套for循环.要获得尺寸的大小,您可以使用GetLength():

for (int i = 0; i < arrayOfMessages.GetLength(0); i++)
{
    for (int j = 0; j < arrayOfMessages.GetLength(1); j++)
    {
        string s = arrayOfMessages[i, j];
        Console.WriteLine(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

这假设你实际上有string[,].在.NET中它也可能有不从0收录在这种情况下多维数组,他们必须被表示为Array在C#中,你将需要使用GetLowerBound()GetUpperBound()为每个维度得到发展.


Hen*_*man 8

使用嵌套for循环:

for (int row = 0; row < arrayOfMessages.GetLength(0); row++)
{
   for (int col = 0; col < arrayOfMessages.GetLength(1); col++)
   {
      string message = arrayOfMessages[row,col];
      // use the message
   }    
}
Run Code Online (Sandbox Code Playgroud)


Ode*_*ded 7

不要使用foreach- 使用嵌套for循环,每个维度对应一个数组.

您可以使用该GetLength方法获取每个维度中的元素数量.

请参阅MSDN上的多维数组(C#编程指南).