-2
После того, как из this post можно создать новый список найденных дубликатов (и исключить) в слиянии? Я хочу сообщить пользователю, какие записи были исключены. Код, который у меня есть, работает в том, что он правильно объединяет данные и исключает любые повторяющиеся ключи, но я хочу показать ключи, исключенные после слияния.List Duplicates Игнорируется в LINQ Merge
var fileLocation = @"D:\TFS2010-UK\Merge_Text\PM.INX";
var fileContents =
File.ReadLines(FileLocation, Encoding.Default)
.Select(line => line.Split(','))
.ToDictionary(line => line[0].Replace("\"", ""), line => line[1] + ',' + line[2] + ',' + line[3]);
// define an array of items to be added...
var newContent = new Dictionary<string, string>
{
{ "XYZ789", "\"XYZ789\",1,123.789" },
{ "GHI456", "\"GHI456\",2,123.456" },
{ "ABC123", "\"ABC123\",1,123.123" }
};
var uniqueElements = fileContents.Concat(newContent.Where(kvp => !fileContents.ContainsKey(kvp.Key)))
.OrderBy(x => x.Key)
.ToDictionary(y => y.Key, z => z.Value);
// append new lines to the existing file...
using (var writer = new StreamWriter(fileLocation))
{
// loop through the data to be written...
foreach (var pair in uniqueElements)
{
// and write it to the file...
writer.WriteLine("\"{0}\",{1}", pair.Key, pair.Value);
}
}
Большое спасибо. Martin
Вы должны показать код, который не работает, и указать, что с ним связано. Затем мы можем помочь исправить это. В противном случае этот вопрос попросит нас сделать вашу работу. –
Извинения. Надеюсь, я добавил достаточно подробностей, чтобы сделать вопрос более ясным. – MartinS