7
List<FileInfo>
을 반환하려면 fancy LINQ 쿼리를 사용하고 (List<FileInfo> oldList, List<FileInfo> newList
) 메서드를 전달하고 두 목록간에 어떤 차이가 있는지 확인하십시오.두 목록의 차이점 <FileInfo>
기본적으로 oldList에서 사용할 수 없었던 newList에 추가 된 모든 파일의 목록을 가져 오려고합니다.
List<FileInfo>
을 반환하려면 fancy LINQ 쿼리를 사용하고 (List<FileInfo> oldList, List<FileInfo> newList
) 메서드를 전달하고 두 목록간에 어떤 차이가 있는지 확인하십시오.두 목록의 차이점 <FileInfo>
기본적으로 oldList에서 사용할 수 없었던 newList에 추가 된 모든 파일의 목록을 가져 오려고합니다.
는 FileInfo
에 대한 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();
}
}
당신은 두 목록 사이의 차이를 찾기 위해 코드를 사용할 수 있습니다
:
var allItems = newList.Union(oldList);
var commonItems = newList.Intersect(oldList);
var difference = allItems.Except(commonItems, new FileInfoEqualityComparer());
항목이 newList
목록에 추가 찾으려면을 사용하는 다음 코드를 :
var addedItems = newList.Except(oldList, new FileInfoEqualityComparer());