一尘不染

覆盖GetHashCode

algorithm

如您所知,GetHashCode返回一个半唯一值,该值可用于标识集合中的对象实例。作为一种好的做法,建议重写此方法并实现自己的方法。

我的问题是-在处理自定义对象时,您是否重写此方法?如果是这样,您使用什么算法来生成唯一ID?

我正在考虑生成GUID,然后从该标识符获取整数数据。


阅读 187

收藏
2020-07-28

共1个答案

一尘不染

当你重写GetHashCode()你也需要重写Equals()operator==operator!=。并且要非常小心地满足这些方法的所有要求。

该准则位于MSDN上。最重要的报价:

在非不可变类型中覆盖运算符==不是一个好主意。

2020-07-28