ReSharper 2026.1 Help

コードインスペクション:明示的に提供されたタプルコンポーネント命名を優先する

最新の C# では、タプルの各要素を宣言する際に、明示的に名前を付けることができます。 例: (int First, int Second) は、タプルの要素に意味のある名前を明確に定義しています。 しかし、これらの名前を使用せず、代わりに Item1Item2 などのデフォルトで生成された名前を使用してタプルの要素にアクセスすると、コードの明瞭性が低下します。

以下の例では、タプルパラメーター t0FirstSecond という名前が明示的に宣言されています。 ただし、コンストラクター内では、タプルの 2 番目の要素にアクセスするために、明示的な名前 Second ではなく Item2 が使用されています。

明示的な名前 Second の代わりにデフォルト名 Item2 を使用すると、タプルコンポーネントの意味やコンテキストを理解するのが難しくなります。

public class TupleSample { TupleSample((int First, int Second) t0) { var t1 = (t0.First, t0.Item2); } }
public class TupleSample { TupleSample((int First, int Second) t0) { var t1 = (t0.First, t0.Second); } }

この問題を解決するには、該当する場合はタプルのコンポーネント名を明示的に指定します。 これにより、コードの自己文書化が向上し、 Item や -style のデフォルト名との混同の可能性が軽減されます。

2026 年 6 月 12 日