我应该一直用字典吗?TryGetValue即使我都想做的是添加/替换值
本文关键字:添加 替换 字典 一直 TryGetValue 我应该 | 更新日期: 2023-09-27 18:10:55
我一直在使用TryGetValue在我的字典中添加/替换数据。只是为了区分添加新的和替换旧的,我同时使用[]和。add()。如果我实际上没有对检索到的值做任何事情,这将导致这样的代码:
private Dictionary<Foo, Bar> dictionary = new Dictionary<Foo, Bar>();
public void Update(Foo foo)
{
Bar bar;
if (dictionary.TryGetValue(foo, out bar)
{
dictionary [foo] = bar;
}
else
{
dictionary .Add(foo, bar);
}
}
如果我实际上没有对检索值做任何事情,是否有理由我不应该用这个替换上面的代码?:
public void Update(Foo foo)
{
dictionary[foo] = bar;
}
提前感谢。
应该使用更简单的代码。
在任何情况下都会更快。(一次哈希查找vs.两次)
更重要的是,它更简单
不,没有理由不使用更短的代码。
事实上,你真的应该使用它,因为它更简单,我们都知道:
代码越简单,错误越少。