我有两个从不同来源填充的列表,检查两个列表是否包含相同项目的最佳方法是什么?订单并不重要
List<Tuple<string, string, string>> list1;
List<Tuple<string, string, string>> list2;
Run Code Online (Sandbox Code Playgroud)
你可以使用!Except.Any:
bool same = list1.Count == list2.Count && !list1.Except(list2).Any();
Run Code Online (Sandbox Code Playgroud)
说明:
Count,否则您知道它们不包含相同的列表Except并确认Any是否有重新记录的元组.如果有(至少一个)您知道它们不包含相同的内容list2list1Any因为元组覆盖GetHashCode(也像匿名类型)string也可以工作.