当我们使用字典比较多的情况,一般来说,就是为了提高查询的速度。
比如一个服务器,有多个TCP连接上来,每次要通过IP地址来访问这些连接对象,
就需要查找。
如果采用列表来保存,就只能遍历来查询到连接对象。
如果采用字典,就可以快速地通过字典键来查询到对象,其实这个时间就是HASH表的操作时间。
采用字典时,我们有时候需要同时删除多个元素对象,比如刚除多个IP地址断掉的连接。
如果我们采用下面的方式:
foreach (var planet in planets)
{if (planet.Key == 2)planets.Remove(planet.Key); // Throw an exception here
}
就会发现这种方式行不通,因为会抛出异常。
因此,我们需要采用另外的访问,就是把字典的键先抽取出来,然后再遍历,就完善解决了。
如下面的例子:
//从字典里删除多项键的例子var keys = new List<int>(Vegetables.Keys); // // 迭代键ÿ