我有解析兩個文件(.txt和的.xls),存儲有各種不同的領域爲對象C#,對象的兩個列表中找到這兩個對象一個變量之間的差異
List<AcsRecord> Textrecords = AcsFileParser.Parsefile(path1);
List<ExcelRecord> Execelrecords = excelFileParser.Parsefile(path2);
作爲一個例子的程序的AcsRecord是:
public string EID {get; set;}
public string Name {get; set;}
Excel記錄有一個類似的名稱記錄。我想,主要找到所有在AcsRecord中找到的在Excelrecord中找不到的名稱。使用linq join,我只能找到那些相同的東西。我不確定如何引用每個記錄中的名稱字段。也許類似於!contains()? 謝謝。
真棒。我可以把這個變量放入一個foreach循環來打印它們到控制檯嗎? – Cassus
@jonskeet - 一旦你有HashSet是不是更快使用'Except()'? – Hogan
@Hogan - HashSet沒有'Except'方法(即使用'IEnumerable.Except'即O(n)),雖然它有'ExceptWith',但也是O(n)。 HashSet.Contains是O(1),所以在大多數情況下,使用HashSet.Contains會更有效率,我相信。 – keyboardP