遍历列表数组

本文关键字:数组 列表 遍历 | 更新日期: 2023-09-27 18:22:02

假设我有一个列表数组

myArr

假设我想遍历FIRST列表(它将是数组中的元素0),然后停止。这可能吗?

现在我正在使用

for(int i = 0; i < myArr[0].count; i++)
{
  do stuff
  IF the array has gone to the next element  in the ARRAY (Not the first    LIST) Then break out of for loop
}

但它正在遍历整个数组(因此有7个列表)!我希望它只遍历数组中的第一个列表。有什么想法吗?

例如,如果我有

[0][0] = "cat"
[0][1] = "dog"
[1][0] = "seal"

我只想迭代,直到我得到猫和狗(或者直到第一个列表被遍历)。对于这种特殊的情况,

遍历列表数组

,我不在乎seal和数组元素中包含的其他列表

您的代码实际上没有问题。这应该有效:

for(int i = 0; i < myArr[0].Count; i++) Console.WriteLine(myArr[0][i]);

假设我想遍历FIRST列表(它将是数组中的元素0),然后停止。这可能吗?

是的。

你的例子真的没有用。您几乎可以在任何地方使用break语句来停止for语句。。。

for(int i = 0; i < 10; i++)
{
  if (i = 5) // any condition really...
  {
    break;
  }
}

例如:

for(int i = 0; i < 10; i++)
{
  if (i = 5)
  {
    break;
  }
  Console.WriteLine(i);
}

输出:

0

1

2

3

4

您可以使用LINQ来执行此

using System.Linq;

var firstList = myArr.Take(1);
foreach(var item in firstList)
{
   // ...
}

假设我们有一个列表数组,创建如下:

List<string>[] myArr = new List<string>[2];
myArr[0] = new List<string>(new string[] { "cat", "dog" });
myArr[1] = new List<string>(new string[] { "seal" });

然后我们可以遍历(并打印)第一个数组,如下所示:

for (int i = 0; i < myArr[0].Count; i++)
    System.Console.WriteLine(myArr[0][i]);