c# dictionary 给某键值赋值之前是否一定要add此键值?

 我来答
wangpaishi
2013-09-15 · TA获得超过570个赞
知道小有建树答主
回答量:932
采纳率:52%
帮助的人:754万
展开全部

我使用,好像是要先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.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式