コードインスペクション: 辞書の検索は「TryGetValue」で簡単にできます。
このインスペクションは、 ContainsKey の後にインデックスアクセサーが続く代わりに TryGetValue メソッドを使用することで、辞書の検索を簡素化できることを提案しています。
ContainsKey とインデクサはどちらも辞書内でキーを検索するため、同じ操作を繰り返しています。最初はキーが存在するかを確認し、次に実際に値を取得します。
TryGetValue はこれらの操作を組み合わせて、辞書の検索を 1 回だけ実行します。 指定されたキーに関連付けられた値を取得しようとします。 キーが存在する場合は、 true を返し、キーに関連付けられた値を変数に割り当てます。 キーが存在しない場合は、 false を返し、出力変数には辞書内の値の型のデフォルト値が与えられます。
void WriteValue(IDictionary<int, int> dictionary, int key)
{
if (dictionary.ContainsKey(key))
{
Console.WriteLine(dictionary[key]);
}
}
void WriteValue(IDictionary<int, int> dictionary, int key)
{
if (dictionary.TryGetValue(key, out var value))
{
Console.WriteLine(value);
}
}
2026 年 6 月 12 日