我有2个列表ListOfItemsToControl
和lstRemoveItems
。我想删除ListOfItemsToControl
lstRemoveItems.sItemName
匹配ListOfItemsToControl.sItemName
如何做到这一点?
答案 0 :(得分:1)
var names = lstRemoveItems.Select(y => y.sItemName).ToList();
var result = ListOfItemsToControl.Where(x => names.Contains(x.sItemName)).ToList();
var resultList = ListOfItemsToControl.Except(result);
这似乎奇数但它应该有效:)
答案 1 :(得分:1)
这是一个LINQ单线程。我没有测试过这个,但它应该可以工作:
ListOfItemsToControl = ListOfItemsToControl.Where(l => !lstRemoveItems.Any(r => r.sItemName == l.sItemName)).ToList();