Klidně to může být realizováno i více dotazy.
Hlavně abych se posunul k "cíli"
Zatím jsem zkončil u tohoto:
(využívám rozšíření CsvHelper)
string path = "newFile.csv";
string path2 = "newFile2.csv";
if (!File.Exists(path)) throw new FileNotFoundException(path);
IEnumerable<CustomClass> records1 = ReadRecords(path); // načte první soubor
if (!File.Exists(path)) throw new FileNotFoundException(path2);
IEnumerable<CustomClass> records2 = ReadRecords(path2); // načte druhý soubor
var records1L = records1.ToList(); // převede do LINQ
var records2L = records2.ToList(); // Převede do LINQ
/* Následující kód by měl zjistit "diference", tedy to co není v souboru1, ale je v souboru2
Bohužel to hlásí:
The best overloaded method match for 'System.Collections.Generic.List<Ale.Form1.CustomClass>.Contains(Ale.Form1.CustomClass)' has some invalid arguments */
var textRecordsNotInFirstFile = records1L.Where(t => !records2L.Any(t.vendor_mat_number != )).ToList();
TextWriter writer = File.CreateText("diference.csv");
using (var csvWriter = new CsvHelper.CsvWriter(writer))
{
csvWriter.WriteRecords(textRecordsNotInFirstFile); // mělo by zapsat rozdíly do souboru
}
Zkoušel jsem googlovat, ale máš pravdu v tom, že odpovědi na tento dotaz bývají spletité.