JetBrains Rider 2025.2 Help

代码检查:字典查找可以通过 'TryGetValue' 简化

此检查建议您可以通过使用 TryGetValue 方法,而不是 ContainsKey 后跟索引访问器,来简化字典查找。

ContainsKey 和索引访问器都在字典中查找键,这意味着您执行了两次相同的操作——首先检查键是否存在,然后实际检索值。

TryGetValue 将这些操作结合在一起,仅执行一次字典查找。 它尝试获取与指定键关联的值。 如果键存在,它将返回 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); } }
最后修改日期: 2025年 9月 26日