簡體   English   中英

如何遍歷兩個Collections?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM