遍历一系列列表

时间:2015-11-14 05:28:56

标签: c# arrays traversal

假设我有一个数组 列表

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个列表)!我希望它只遍历我的数组中的FIRST列表。有什么想法吗?

例如,如果我有

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

我只想迭代直到我得到猫和狗(或直到第一个列表被遍历)我不关心密封和我的数组元素中包含的其余列表对于这个特殊情况< / p>

4 个答案:

答案 0 :(得分:0)

  

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

你的例子并不实用。您可以在任何地方使用for语句停止break语句...

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

您可以使用LINQ执行此操作

using System.Linq;

...

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

答案 3 :(得分:0)

假设我们创建了一系列列表,如下所示:

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]);