我有一个包含在List <>中的对象,我需要从另一个List <>中删除它们
例如
List<MyObject> AllElements = new List<MyObject>();
List<MyObject> SearchResults = new List<MyObject>();
Run Code Online (Sandbox Code Playgroud)
...执行某些操作,以便SearchResults包含AllResults中包含的对象的子集
目前我这样做是为了从主列表中删除它们:
for(int i = 0; i < SearchResults.Count; i++)
AllElements.Remove(SearchResults[i]);
Run Code Online (Sandbox Code Playgroud)
有没有更好的[linqier!]方式?
您可以使用Enumerable.Except方法(来自MSDN)
List <MyObject>FilteredElements = AllElements.Except(SearchResults).ToList();
IEnumerable<T>.Except 是你的朋友(如果我正确地阅读你的例子):
allElements = allElements.Except(searchResults);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
753 次 |
| 最近记录: |