参考资料: http://blog.csdn.net/afgasdg/article/details/6889383 http://www.cnblogs.com/skyivben/archive/2010/04/18/1714933.html http://www.cnblogs.com/sutengcn/archive/2007/03/16/677206.html Equals:逻辑上判断对象是否相等(默认的objec是判读引用地址是否相同,如果重载后是判读对象是否相同) Reference…
最近在看Jeffrey Richter的CLR Via C#,在看到GetHashCode()方法的时候,有一个地方不是特别明白,就是重写Equals()方法时为什么要把GetHashCode()方法一块重写(不重写也没关系,但是微软会发送一条警告).在解释这个问题之前需要先把Equals()和GetHashCode()方法进行深入了解. 首先先谈一下Equals()这个方法: Equals()方法,来自于Object,是我们经常需要重写的方法.此方法的默认实现大概是这样的: public vi…
聊一聊C#的Equals()和GetHashCode()方法   博客创建一年多,还是第一次写博文,有什么不对的地方还请多多指教. 关于这次写的内容可以说是老生长谈,百度一搜一大堆.大神可自行绕路. 最近在看Jeffrey Richter的CLR Via C#,在看到GetHashCode()方法的时候,有一个地方不是特别明白,就是重写Equals()方法时为什么要把GetHashCode()方法一块重写(不重写也没关系,但是微软会发送一条警告).在解释这个问题之前需要先把Equals()和Ge…
博客创建一年多,还是第一次写博文,有什么不对的地方还请多多指教. 关于这次写的内容可以说是老生长谈,百度一搜一大堆.大神可自行绕路. 最近在看Jeffrey Richter的CLR Via C#,在看到GetHashCode()方法的时候,有一个地方不是特别明白,就是重写Equals()方法时为什么要把GetHashCode()方法一块重写(不重写也没关系,但是微软会发送一条警告).在解释这个问题之前需要先把Equals()和GetHashCode()方法进行深入了解. 首先先谈一下Equals…
Equals和GetHashCode Equals每个实现都必须遵循以下约定: 自反性(Reflexive): x.equals(x)必须返回true. 对称性(Symmetric): x.equals(y)为true时,y.equals(x)也为true. 传递性(Transitive): 对于任何非null的应用值x,y和z,如果x.equals(y)返回true,并且y.equals(z)也返回true,那么x.equals(z)必须返回true. 一致性(Consistence): 如果…
http://www.cnblogs.com/xvqm00/archive/2009/02/19/1394093.html DateTime.ToString()函数有四个重载.一般用得多的就是不带参数的那个了.殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期.以下把一些情况罗列出来,供大家参考.有些在MSDN上有的就没有列出来了. 1.         y代表年份,注意是小写的y,大写的Y并不代表年份. 2.         M表示月份.…
Console.WriteLine(DBNull.Value.ToString() == string.Empty); //True…
ToString说明 ToString 是 .NET Framework 中主要的格式化方法.它将对象转换为其字符串表现形式,使它适合于显示.(有关对 .NET Framework 中的格式设置支持的更多信息,请参见 格式化类型.) ToString 方法的默认实现返回 Object的类型的完全限定名,如以下示例所示. 类型通常覆盖 ToString 方法以返回表示对象实例的字符串.例如,基础数据类型(如 Char, Int32和 String)提供 ToString 实现该返回对象表示的值的字…
DateTime.ToString()函数有四个重载.一般用得多的就是不带参数的那个了.殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期.以下把一些情况罗列出来,供大家参考.有些在MSDN上有的就没有列出来了. 1.         y代表年份,注意是小写的y,大写的Y并不代表年份. 2.         M表示月份. 3.         d表示日期,注意D并不代表什么. 4.         h或H表示小时,h用的是12小时制,H用的是…
首先先谈一下Equals()这个方法: Equals()方法,来自于Object,是我们经常需要重写的方法.此方法的默认实现大概是这样的: public virtual bool Equals(object obj) { if(obj==null) return false; if(GetType() != obj.GetType()) return false; Return true; } 由此可以看出,默认的实现其实比较的是两个对象的内存地址(==操作符默认比较内存地址).值类型和stri…