【发布时间】:2010-07-18 06:17:34
【问题描述】:
在比较两个集合中每个元素的字段/属性时,确定一个 IEnumerable 是否包含另一个 IEnumerable 的所有元素的最快方法是什么?
public class Item
{
public string Value;
public Item(string value)
{
Value = value;
}
}
//example usage
Item[] List1 = {new Item("1"),new Item("a")};
Item[] List2 = {new Item("a"),new Item("b"),new Item("c"),new Item("1")};
bool Contains(IEnumerable<Item> list1, IEnumerable<Item>, list2)
{
var list1Values = list1.Select(item => item.Value);
var list2Values = list2.Select(item => item.Value);
return //are ALL of list1Values in list2Values?
}
Contains(List1,List2) // should return true
Contains(List2,List1) // should return false
【问题讨论】:
-
您的清单是哪条路?您要检查 list1 中的所有项目是否都在列表 2 中,还是 list2 中的所有项目都在列表 1 中?
标签: c# .net linq ienumerable