使用Linq比较2个列表

Ice*_*ind 4 c# linq

我有两个列表,我想比较.我执行以下操作,并false返回一个值:

var areIdentical = list1.SequenceEqual(list2, myFileCompare);
Run Code Online (Sandbox Code Playgroud)

那部分是有效的.我的名单不相同.问题是,我正在使用以下命令来尝试找出差异:

var fileDiff = (from file in list1 
                select file).Except(list2, myFileCompare);
Run Code Online (Sandbox Code Playgroud)

我的问题是,fileDiff返回一个空的结果集.既然我知道它们不相同,我不应该得到一些东西吗?也许我的查询错了.任何帮助,将不胜感激!顺便说一句,我可以发布更多我的代码,如果你真的需要它,但是,这应该足够了.

Jon*_*eet 6

如果出现以下情况,您将无法获

  • list2包含所有内容,list1但也包含额外项目
  • 订购不同

假设您不关心订购,您可以使用:

var extraItemsInList2 = list2.Except(list1);
var extraItemsInList1 = list1.Except(list2);
Run Code Online (Sandbox Code Playgroud)

如果您确实关心订单,则需要确切了解您希望如何表示差异.