я пытаюсь со следующим кодом, чтобы проверить, если список содержит дублированный данные:C# Linq уникально не работает в списках
internal class Program
{
private static void Main(string[] args)
{
var list = new List<Obj>() { new Obj() { id = "1", name = "1" }, new Obj() { id = "1", name = "1" } };
Console.WriteLine(AllItemsAreUnique(list));
}
public static bool AllItemsAreUnique<T>(IEnumerable<T> items)
{
return items.Distinct().Count() == items.Count();
}
}
internal class Obj
{
public string id;
public string name;
}
И результат верно! Зачем?
Поскольку «два объекта с одинаковыми свойствами» не означают «два равных объекта», см. Дубликат. – CodeCaster