Вывести дубликаты двух списков - C#
Формулировка задачи:
Всем доброго времени суток!
У меня есть два list с массивом строк List<string[]>. Я пытаюсь использовать except (выявить разницу в списках),
применяя компаратор.
Но результат он мне выдает пустой. Что я делаю не так?!
IEnumerable<string[]> except = list1.Except(list2, new Compars());
class Compars : IEqualityComparer<string[]> { #region IEqualityComparer<string[]> Members public bool Equals(string[] x, string[] y) { return x[2].Equals(y[2]); } public int GetHashCode(string[] w) { return 0; } #endregion }
Решение задачи: «Вывести дубликаты двух списков»
textual
Листинг программы
using System; using System.Linq; using System.Collections.Generic; public class Test { public static void Main() { var list1 = new List<string[]> { new[] {"фраза","фраза2","X1","1","1234","фраза"}, new[] {"фраза","фраза2","X2","1","1234","фраза"}, new[] {"фраза","фраза2","X3","1","1234","фраза"}, new[] {"фраза","фраза2","X10","1","1234","фраза"}, new[] {"фраза","фраза2","X11","1","1234","фраза"}, new[] {"фраза","фраза2","X12","1","1234","фраза"}, new[] {"фраза","фраза2","X13","1","1234","фраза"}, new[] {"фраза","фраза2","X14","1","1234","фраза"}, new[] {"фраза","фраза2","X15","1","1234","фраза"}, new[] {"фраза","фраза2","X16","1","1234","фраза"}, new[] {"фраза","фраза2","X17","1","1234","фраза"}, new[] {"фраза","фраза2","X18","1","1234","фраза"}, new[] {"фраза","фраза2","X1","1","1234","фраза"}, new[] {"фраза","фраза2","X2","1","1234","фраза"}, new[] {"фраза","фраза2","X3","1","1234","фраза"} }; var list2 = new List<string[]> { new[] {"фраза","фраза2","X1","1","1234","фраза"}, new[] {"фраза","фраза2","X2","1","1234","фраза"}, new[] {"фраза","фраза2","X3","1","1234","фраза"} }; var diff = list1.Except(list2, new Compars()); foreach (var arr in diff) Console.WriteLine(string.Join(" ", arr)); } } class Compars : IEqualityComparer<string[]> { #region IEqualityComparer<string[]> Members public bool Equals(string[] x, string[] y) { return x[2].Equals(y[2]); } public int GetHashCode(string[] w) { return 0; } #endregion }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д