Dictionary<TKey,Tvalue>
关于这个泛型集合出现的原因,为什么出现。
首先我们需要了解HashTable 这个集合也是在add元素的时候根据key和value进行存储的。
但是这个HashTable中的Add方法是这样的 Add(object key, object value)
这样各种类型的数据都是可以存储的,看起来好牛逼很自由。不像Dictionary<TKey,Tvalue>必须指定存的数据是什么类型 比如Dictionary<string,string>定义的时候就限制了key必须为string,value也必须为string类型
Dictionary<TKey,Tvalue>也正是由于采用泛型,在开始就指定内存,因此没有装箱的过程,这个过程到达是怎么样去浪费性能的,比如我假如使用HashTable去存键值对数据,比如我的key为int,那么我会先把在堆内存中开个int大小内存,然后把这个key存进去。如果在字典泛型中的,我们是直接把key存入已经开好的key变量对应的内存,而不需要重新开内存。正是少了这步。
C#中Dictionary<Tkey,Tvalue>泛型集合漫谈
最新推荐文章于 2023-01-19 09:52:59 发布