C# Equals
如果没有指定 IEqualityComparer<T>,会去默认调用EqualityComparer<T>.Default,
返回 ObjectEqualityComparer ,默认调用T.Equals和T.GetHashCode
没测试过是否如此
dotnet451\Source\ndp\clr\src\BCL\system\collections\generic\equalitycomparer.cs
-------------------------
不要直接调用 a.Equals(b),应该用 object.Equals(a,b),防止a为null
dotnet451\Source\ndp\clr\src\BCL\system\object.cs