DA0010:高开销 GetHashCode

规则 ID

DA0010

类别

.NET Framework 使用

分析方法

采样

.NET 内存

消息

GetHashCode 函数应是廉价的,并且不应分配任何内存。如果可能,降低哈希代码函数的复杂性。

消息类型

警告

原因

对该类型的 GetHashCode 方法的调用在分析数据中占很大比例或此方法分配内存。

规则说明

哈希是一项用于快速定位大型集合中的某个特定项的技术。因为哈希表可能非常大,而且必须支持很高比率的访问,所以哈希表应该极其有效。此要求的含义是 .NET Framework 中的 GetHashCode 方法不应分配内存。分配内存增加在垃圾回收器上的负载,并向潜在延迟公开该方法(如果这因分配请求而成为运行垃圾回收器的必要条件)。

如何解决冲突

降低此方法的复杂性。