我有2个清单。我只想连接LstNewItems,其中SItemRequestStatus =" Add" 怎么办呢?
在concat的下面两个列表完全列出,但这不是我需要的。
radGridViewFiles.DataSource = MyGlobals.ListOfItemsToControl
.Concat(MyGlobals.lstNewItems).ToList();
答案 0 :(得分:3)
只需使用Enumerable.Where
过滤收集:
MyGlobals.ListOfItemsToControl.Concat(
MyGlobals.lstNewItems.Where(i => i.SItemRequestStatus == "Add")).ToList();
为了便于阅读,我会将其拆分为两行:
var itemsToAdd = MyGlobals.lstNewItems.Where(i => i.SItemRequestStatus == "Add");
radGridViewFiles.DataSource = MyGlobals.ListOfItemsToControl.Concat(itemsToAdd).ToList();
答案 1 :(得分:2)
您只需在Where
集合上使用lstNewItems
扩展程序即可返回已过滤的集合:
radGridViewFiles.DataSource = MyGlobals.ListOfItemsToControl
.Concat(MyGlobals.lstNewItems.Where(x=>x.SItemRequestStatus == "Add"))
.ToList();