我有两个清单
List<object> a = new List<object>();
List<object> b = new List<object>();
Run Code Online (Sandbox Code Playgroud)
现在我想迭代两个列表的元素.我可以通过为每个列表编写一个foreach循环来做到这一点.但也可以这样做吗?
foreach(object o in a, b) {
o.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
如果这样的话可能会很好:
foreach (object o in a && b) {
o.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
Ita*_*aro 24
foreach(object o in a.Concat(b)) {
o.DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 13
如果你想单独遍历它们,那么你可以Enumerable.Concat像已经指出的那样使用它.
如果你想同时迭代两个列表,从循环中的每个列表访问一个元素,那么在.NET 4.0中有一个方法Enumerable.Zip可以使用.
int[] numbers = { 1, 2, 3, 4 };
string[] words = { "one", "two", "three" };
var numbersAndWords = numbers.Zip(words, (first, second) => first + " " + second);
foreach (var item in numbersAndWords)
{
Console.WriteLine(item);
}
Run Code Online (Sandbox Code Playgroud)
结果:
1 one 2 two 3 three
| 归档时间: |
|
| 查看次数: |
28575 次 |
| 最近记录: |