C# 两个列表之间的差异<;FileInfo>;

C# 两个列表之间的差异<;FileInfo>;,c#,.net,linq,list,list-comparison,C#,.net,Linq,List,List Comparison,我可以使用一个奇特的LINQ查询返回一个列表,方法是将它传递给一个方法(List oldList,List newList),并查看这两个列表之间的区别吗 基本上,我希望获得添加到新列表中的所有文件的列表,这些文件在旧列表中不可用。给定文件信息的IEqualityComparer,如下所示: public class FileInfoEqualityComparer : IEqualityComparer<FileInfo> { public bool Equals(File

我可以使用一个奇特的LINQ查询返回一个
列表
,方法是将它传递给一个方法(
List oldList,List newList
),并查看这两个列表之间的区别吗


基本上,我希望获得添加到新列表中的所有文件的列表,这些文件在旧列表中不可用。

给定
文件信息的
IEqualityComparer
,如下所示:

public class FileInfoEqualityComparer : IEqualityComparer<FileInfo>
{
    public bool Equals(FileInfo x, FileInfo y)
    {
        return x.FullName.Equals(y.FullName);
    }

    public int GetHashCode(FileInfo obj)
    {
        return obj.FullName.GetHashCode();
    }
}
要查找添加到
newList
列表的项目,请使用以下代码:

var addedItems = newList.Except(oldList, new FileInfoEqualityComparer());
var addedItems = newList.Except(oldList, new FileInfoEqualityComparer());