///// <summary>
///// Demo比较器(key)
///// </summary>
internal sealed class DemoEqualityComparer1 : IEqualityComparer<Demo>
{
public bool Equals(Demo x, Demo y)
{
if (ReferenceEquals(x, y))
{
return true;
}
if (x is null || y is null)
{
return false;
}
if (x.GetType() != y.GetType())
{
return false;
}
return Equals(x.Key, y.Key);
}
public int GetHashCode(Demo obj)
{
if (obj.Key == null)
{
return 0;
}
return obj.Key.GetHashCode();
}
}
private static readonly IEqualityComparer
_Demo_ComparerByKey = new DemoEqualityComparer1();
var rslt = demoList.Distinct(_Demo_ComparerByKey);