誰もが....これは非常に効率的に動作するようにlinqクエリを簡略化しますか?
FileCompareLength myFileCompare1 = new FileCompareLength();
var queryList1Only3 = (from file in list1 select file).Except(list2, myFileCompare1);
var queryList1Only33 = (from file in list2 select file).Except(list1, myFileCompare1);
var difference1 = queryList1Only3.ToHashSet();
difference1.SymmetricExceptWith(queryList1Only33);
var query4 = difference1.AsEnumerable().OrderBy(x => x.Name);
if (query4.Count() > 0) {
dest.WriteLine("Discrepancies in File Date:");
foreach (var v in query4) {
dest.WriteLine(v.Lengh+ " " + v.FullName);
}
}
と
public class FileCompareLength : System.Collections.Generic.IEqualityComparer<System.IO.FileInfo> {
public FileCompareLength() { }
public bool Equals(System.IO.FileInfo f1, System.IO.FileInfo f2) {
return (f1.Length == f2.Length);
}
public int GetHashCode(System.IO.FileInfo fi) {
return fi.Length.GetHashCode();
}
}
どんな提案を簡素化することはできますか?
。現在の形で見るのは辛いです。 –
特に私がやったときから、linqに関することを知らずに読めるコードを作ることができるはずです。 –
@bemace:ありがとうございました....... – bala3569