Поиск дублей в большой строке с разделителями в List - C#
Формулировка задачи:
Есть текстовый файл следующей структуры:
Пример:
Заполняю List<string> таким образом:
Т.о. myCollection содержит:
Как произвести поиск дубликатов в поле Но как найти именно дубли ID_NUMBER не додумался.
"SOMETEXT";"ID_NUMBER";"SOMETEXT";
"РСЧ 111222333444555666 г.Москва";"151060001";"ТТТТРРРМММННН"; "РСЧ 111222333444555666 г.Москва";"151060002";"ТТТТРРРМММННН"; "РСЧ 111222333444555666 г.Москва";"151060003";"ТТТТРРРМММННН"; "РСЧ 111222333444555666 г.Москва";"151060003";"ТТТТРРРМММННН";
List<string> myCollection = new List<string>();
while ((line = file.ReadLine()) != null)
{
if (line != "")
{
myCollection.Add(line);
}
}
file.Close();[0]"РСЧ 111222333444555666 г.Москва";"151060001";"ТТТТРРРМММННН"; [1]"РСЧ 111222333444555666 г.Москва";"151060002";"ТТТТРРРМММННН"; [2]"РСЧ 111222333444555666 г.Москва";"151060003";"ТТТТРРРМММННН"; [3]"РСЧ 111222333444555666 г.Москва";"151060003";"ТТТТРРРМММННН";
ID_NUMBER
вList<string>
и соответствующее их удаление? Знаю как найти что-то конкретное:newList = myCollection.FindAll(s => s.Contains("г.Москва")); Решение задачи: «Поиск дублей в большой строке с разделителями в List»
textual
Листинг программы
class IdComparer : IEqualityComparer<string>
{
private string ExtractId(string s)
{
return s.Split(';')[1].Trim();
}
public bool Equals(string x, string y)
{
return ExtractId(x) == ExtractId(y);
}
public int GetHashCode(string obj)
{
return ExtractId(obj).GetHashCode();
}
}