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