我有一个枚举
public enum INFLOW_SEARCH_ON
{
ON_ENTITY_HANDLE = 0,
ON_LABEL = 1,
ON_NODE_HANDLE = 2
} // enum INFLOW_SEARCH_ON
我必须使用这个枚举在网格列中进行搜索。
获取我正在使用的列索引
MyEnumVariable.GetHashCode()
哪个工作正常,或者我应该使用
(short)MyEnumVariable
我对使用有点困惑GetHashCode()
。使用起来有什么问题吗?
Using GetHashCode()
是不正确的。你应该投射到int
。你使用它的方式就是要求猛禽(或雷蒙德)来吃你。
That GetHashCode()
碰巧返回枚举的整数值是一个实现细节,可能会在 .net 的未来版本中发生变化。
GetHashCode()
保证如果两个值是equal
它们的哈希码也相等。反之则不能保证。
我的经验法则是,如果GetHashCode
如果要返回一个常量值,您的程序应该仍然可以正常工作(但可能会much较慢),因为是一个常数GetHashCode
可以轻松地履行合同,但分布特性较差。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)