遍历列表数组
Traversing through a array of lists
假设我有一个 array of lists
我的
假设我想遍历第一个列表(这将是我数组中的元素 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 和我的数组元素中包含的其余列表对于这个特定案例
Suppose i want to traverse through the FIRST list (which would be element 0 in my array) and then STOP. Is that possible?
是的。
你的例子不是很有用。您几乎可以在任何地方使用 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
你的代码其实没有问题。这应该有效:
for(int i = 0; i < myArr[0].Count; i++) Console.WriteLine(myArr[0][i]);
您可以使用 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]);
假设我有一个 array of lists
我的
假设我想遍历第一个列表(这将是我数组中的元素 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 和我的数组元素中包含的其余列表对于这个特定案例
Suppose i want to traverse through the FIRST list (which would be element 0 in my array) and then STOP. Is that possible?
是的。
你的例子不是很有用。您几乎可以在任何地方使用 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
你的代码其实没有问题。这应该有效:
for(int i = 0; i < myArr[0].Count; i++) Console.WriteLine(myArr[0][i]);
您可以使用 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]);