ReSharper 2026.2 Help

代码检查:使用 'HashCode.Combine' 计算哈希代码

此检查会报告创建临时值元组并在其上调用 GetHashCode() 的哈希代码计算。 当 System.HashCode 可用时, HashCode.Combine(...) 能直接表达相同意图,避免使用临时元组。 对于包含最多 8 个元组组件的 ValueTuple.GetHashCode() 调用会报告该检查。 对于更大的元组,请使用包含每个组件的哈希代码计算。

示例

using System; public sealed class Customer(int id, string name) { public override int GetHashCode() { return (id, name).GetHashCode(); } }
using System; public sealed class Customer(int id, string name) { public override int GetHashCode() { return HashCode.Combine(id, name); } }

快速修复

ValueTuple.GetHashCode() 调用替换为 HashCode.Combine(...)。 元组元素名称不会影响哈希代码,也不会包含在替换内容中。

2026年 8月 5日