C#中的泛型和泛型集合

Posted 会飞的豆子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中的泛型和泛型集合相关的知识,希望对你有一定的参考价值。

泛型

泛型引入了一个概念:类型参数。通过使用类型参数(T)减少了运行时强制转换或装箱操作的风险,通过泛型可以最大限度的重用代码,保护类型的安全及提高性能,他的最常见应用就是创建集合类,可以约束集合类中的元素类型。比较典型的泛型集合是List<T>和Dictionary<>;

泛型集合List<T>

语法

List<T>对象名=new List<T>();

List<T>与ArrayList的区别

异同点                        List<T>                              ArrayList

不同点                     对所保存元素做类型约束            可以增加任何类型

                              添加/读取值类型元素无须拆箱,装箱       添加/读取值类型元素需要拆箱,装箱

相同点                    通过索引访问集合中的元素

                             添加元素方法相同

                             删除元素方法相同

泛型集合Dictionary<K,V>

语法

Dictionary<K,V>对象名=new Dictionary<K,V>();

例如:

Dictionary<string,SE>engineers=new Dictionary<string,SE>();

                                            Dictionary和Hashtable的对比

   异同点                      Dictionary<K,V>                                   Hashtable

 不同点                        对所保存元素做类型约束                            可以增加任何类型

                                  添加/读取值类型元素无须拆箱,装箱            添加/读取值类型元素需要拆箱,装箱

 相同点                        通过Key获取Value

                                  添加元素方法相同

                                  删除元素方法相同

                                  遍历方法相同

Dictionary还可以采用下面的方式

foreach(KeyValuePair<string,SE> en in engineers){
 Console.WriteLine(en.Key);

Console.WriteLine(en.Value.Name);
}

泛型类

语法

public class 类名<T>{
  //。。。。。。。。
}

 

 
 

以上是关于C#中的泛型和泛型集合的主要内容,如果未能解决你的问题,请参考以下文章

泛型和泛型集合

Java里的泛型加通配符的用法

C# 如何获取泛型集合 的数据

Java里的泛型加通配符的用法

C# 2.0 新特性(上)

trait 的泛型类型和泛型关联类型之间有啥区别?