[英]Add mutliple Lists to one list
我有多個函數可以返回對象列表。 如何將它們添加到一個列表中。
var List1 = GetList1().RunFilter1();
var List2 = GetList2();
AddRange()函數變得一團糟。
List1.AddRange(List2.AddRange(List3.AddRange(List4.AddRange(...);
有沒有一種我可以使用的模式會更容易。 我也有適用於某些列表的擴展方法(過濾器)。 我根據需要互換。 像這樣:
var CombinedList = GetAllLists(GetList1().RunFilter1(),
GetList2(),
GetList3().RunFilter2(),
GetList4() ...);
請記住,獲取的GetList()函數可能會更改。
謝謝你的幫助!
您可以先將所有列表插入另一個列表:
var temp = new List<T>
{
GetList1().RunFilter1(),
GetList2(),
GetList3().RunFilter2(),
GetList4()
};
然后使用SelectMany
方法展平此列表。
var combined = temp.SelectMany(item=>item).ToList();
您可以使用一些Linq擴展名來幫助您調整格式
var joined = GetList1()
.Concat(GetList2())
.Concat(GetList3().RunFilter())
...
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.