当前位置: 代码迷 >> C# >> C# 道泛型集合
  详细解决方案

C# 道泛型集合

热度:196   发布时间:2016-05-05 05:26:06.0
C# 谈泛型集合

说泛型之前先简单了解下C#中的数组和ArrayList数组缺点是申明限制了长度,不能自动增加长度,ArrayList虽然能自动增加长度,但是由于ArrayList可以允许元素类型不同,导致类型安全性不高,类型不同,迭代的时候会出现错误,那时,只能用object迭代了,而泛型弥补了以上缺点。

1 泛型特点:

   1 自动增长,类似于C++里的vector

   2 类型安全性高,只允许一种数据类型

   3 性能高,迭代时不需要数据转换

2 泛型与ArrayList对比代码:

            //ArrayList 集合 命名空间 using System.Collections;            ArrayList aList = new ArrayList() { 11,"aa",33m };// 允许不同类型            aList.Add("bb");// 也可以aList.Add(new MyClass()) MyClass是自定义的类;            //读取数据,不同数据类型的集合,获取元素时,要进行数据转换            for (int i = 0; i < aList.Count;++i )            {                Console.WriteLine("{0}", aList[i].ToString());            }            foreach(object obj in aList) //不能对某一特定类型迭代            {                Console.WriteLine("{0}", obj.ToString());//读取            }            // 泛型类型 List<T> list ;  T为任何数据类型            List<int> lList = new List<int>() { 1,2,3,4};//初始化,单一数据类型            lList.Add(55);//添加数据            // 读取数据,相同类型,无需转换            for (int i = 0; i < lList.Count;++i )            {                Console.WriteLine(lList[i]);// 也可用foreach            }






  
  相关解决方案