我用下面的代码尝试检查如果列表包含重复的数据不起作用: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