c# dictionary 给某键值赋值之前是否一定要add此键值?
1个回答
展开全部
我使用,好像是要先Add的
来个判断
Dictionary<keyType, valueType> dict = new ....;
void SetKeyValue(key, value)
{
if (!dict.Contain(key))
dict.Add(key, value);
else
dict[key] = value;
}
更多追问追答
追问
是么,但是我用的时候似乎不需要判断,.net 4.0。
到底有无官方的说法?
追答
MSDN没说明?
即使没官方的说法,即使.NET 4.0帮你实现,原理也是,.NET自己去看有没有包含那个KEY,没有就ADD,有就直接修改那个KEY对于的值
无论要不要你判断,实际程序肯定都要去判断,只是是你敲代码判断或者.NET已经有代码帮你判断了,无论如何,肯定要判断的
程序也不会因为此判断就快或者慢多少纳秒毫秒
官方有说明的啊,我看的是 Add 方法中的Remarks
Remarks
You can also use the Item property to add new elements by setting the value of a key that does not exist in the Dictionary; for example,myCollection[myKey] = myValue (in Visual Basic, myCollection(myKey) = myValue).
However, if the specified key already exists in the Dictionary, setting the Item
property overwrites the old value. In contrast, the Add method throws an exception if a value with the specified key already exists.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询