System.Collections.Generic.IDictionary<TKey, TValue>与旧版本的字典并没有太大的区别,在接口的继承层次上,原先的IDictionary继承自ICollection,现在仍然是对应的泛型版本ICollection<T>,但因为ICollection<T>增加了修改数据的功能,这就带来了一定的麻烦,因为字典要求Add方法传入Key和Value俩个参数,而ICollection的Add只能有一个参数,所以在ICollection<T>中限制为:ICollection<KeyValuePair<TKey,TValue>>,以提供俩个参数。
字典接口还新增加了TryGetValue(TKey, TValue),这个方法主要是为提高性能而设立,原先如果你想安全的获取某个键位时,必须使用ContainsKey(TKey)先检索是否存在,然后用This检索,这样就有俩次检索的过程,现在的TryGetValue将只用检索一次。
相关文章: