[英]How to iterate through two collections of the same length using a single foreach
[英]How to iterate over two Collections?
我想對每個循環使用a來迭代兩個Collection。 我的第一個想法是:
foreach(a.Concat(b)中的對象o){
o.DoSomething(); }
但是問題是,並非所有Collection都支持Concat。 那該怎么辦呢?
一些舊式收集類型僅實現IEnumerable
而不實現IEnumerable<T>
,因此沒有Concat
擴展方法。 您可以通過以下方法解決此問題:首先使用Enumerable.Cast<T>
方法並指定所需的泛型類型,然后它將與Concat
。
代替 ...
foreach (object o in a.Concat(b)) {
o.DoSomething(); }
為什么不只是呢?
foreach (object o in a) {
o.DoSomething();
}
foreach (object o in b) {
o.DoSomething();
}
如果您確實希望它們都在同一列表中,請構造一個新列表並將它們添加在一起,然后再開始處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.