コードインスペクション: ハッシュコードを計算するには '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 年 7 月 17 日