public TValue this[TKey key]
{
get
{
int index = this.FindEntry(key);
if (index >= 0)
{
return this.entries[index].value;
}
ThrowHelper.ThrowKeyNotFoundException();
return default(TValue);
}
set
{
this.Insert(key, value, false);
}
}
/*you don't want to replace Salad, you want to add this new fancy 0
position to your list. It wasn't there before so you can either define it*/
myDietFavorites[0] = "Pizza";
/*or Add it*/
myDietFavorites.Add(0, "Pizza");
定义有两种可能性,你要么想给以前不存在的东西定义一个新的定义,要么想改变已经存在的定义。
Add 方法允许您添加记录,但只有在一个条件下: 此定义的键可能不存在于字典中。
现在我们来看看引擎盖下面。编写字典时,编译器为 bucket (存储记录的内存空间)预订。Bucket 不按照您定义的方式存储密钥。每个键在进入 bucket (由 Microsoft 定义)之前都进行了散列,值得一提的是值部分保持不变。
Dictionary<string, string> dDS1 = new Dictionary<string, string>();//Declaration
dDS1.Add("VEqpt", "aaaa");//adding key and value into the dictionary
string Count = dDS1["VEqpt"];//assigning the value of dictionary key to Count variable
dDS1["VEqpt"] = Count + "bbbb";//assigning the value to key