我相信如果我重写Equals,我还需要覆盖GetHashCode,以确保Dictionary等..数据结构按预期工作.
但是,如果我只想重写ToString,我还是必须重写Equals和GetHashCode方法.
覆盖这三种方法有三个不同的目的:
如您所见,2和3是相关的,但1是分开的.除非你实现Equals以简单地测试两个对象的ToString是否相等,这很可能是一个错误.:)
因此,已经给出了简短的答案:您可以覆盖ToString而不会覆盖其他两个方法.甚至重载ToString方法也很正常.有关示例,请参阅DateTime:http://msdn.microsoft.com/en-us/library/zdtaw1bw.aspx
| 归档时间: | 
 | 
| 查看次数: | 1352 次 | 
| 最近记录: |