C# 相等(==,Equals)

http://www.cnblogs.com/yang_sy/p/3582946.html 这个是原文

double x = double.NaN;
Console.WriteLine(x == x); // False
Console.WriteLine(x.Equals(x)); // True

对于值类型而言,Equals和==很少出现不同的相等性。而在引用类型中,则比较常见。一般地,引用类型的创建者重写Equals方法执行值相等比较,而保留==执行引用相等比较。比如StringBuilder类就是这样的:

StringBuilder buffer1 = new StringBuilder("123");
StringBuilder buffer2 = new StringBuilder("123");
Console.WriteLine(buffer1 == buffer2); // False
Console.WriteLine(buffer1.Equals(buffer2)); // True

其它的内容慢慢理解。

 

GetHashCode() http://www.cnblogs.com/xiashengwang/archive/2013/03/04/2942555.html

posted @ 2015-10-06 21:05  Leo的日记本  阅读(253)  评论(0编辑  收藏  举报