泛型集合
来源:互联网 发布:淘宝视频拍摄技巧 编辑:程序博客网 时间:2024/06/04 20:05
①、C#中使用泛型的优点和使用
优点:
a.类型安全:使用泛型集合编译器会在编译期间检查要放入集合对象的数据类型,如果发现不是某种特定的类型就会报错,这样就可以避免发生许多运行时错误,即类型安全。
b.提高性能:由于明确了数据类型,所以在存取数据不会发生类型的转换,特别是存取值类型是不会发生装箱和拆箱操作。
c.使用泛型类型可以最大限度地重用代码
使用:
a.泛型最常见的用途是创建集合类。
b.可以对泛型类进行约束以访问特定数据类型的方法。
c.可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和泛型委托。
d.关于泛型数据类型中使用的类型的信息可在运行时通过反射获取。
②、System.Collections.Generic命名空间
泛型集合类 描述
List<T> 一般用于替代ArrayList类,与ArrayList很相似
Dictionary<TKey,TValue> 存储键值对的集合泛型类
SortedList<TKey,TValue> 类似于Dictionary<TKey,TValue>,但按键自动排序
LinkedList<T> 双向链表
Queue<T> 先进先出的队列类
Stack<T> 后进先出的堆栈类
C#中没有ArrayList<T>和Hashtable<Tkey,TValue>这两个泛型集合类。
凡是有对应泛型类型的类就尽量不要使用早期提供的非泛型类型的类。下面的泛型类型对应于低版本提供的类型:
泛型类 低版本提供的非泛型类
List<> ArrayList
Dictionary<> Hashtable
Queue<> Queue
Stack<> Stack
SortedList<> SortedList
③、创建泛型集合类的新实例
泛型集合类<数据类型> 实例名=new 泛型集合类<数据类型>();
List<int> lstStr=new List<int>();
List<Employee> lstStu=new List<Employee>();
还是借用前面的Employee的代码,把main修改为 static void Main(string[] args) { SortedList<int,Employee> sl = new SortedList<int,Employee>(); //存储员工信息 sl.Add(1, new Employee(1, "小雨", 3000)); sl.Add(4, new Employee(4, "小华", 2000)); sl.Add(3, new Employee(3, "小刚", 1500)); sl.Add(2, new Employee(2, "小芳", 3500)); //把ht的键对象全部复制到ArrayList中 List<int> list = new List<int>(sl.Keys); //存储员工号信息 //list.AddRange(sl.Keys); list.Sort(); //排序完成输出 for (int i = 0; i < list.Count; i++) { int e = list[i]; Employee temp = (Employee)sl[e]; Console.WriteLine(temp); } }
- 泛型集合,非泛型集合
- C#集合 泛型集合
- C#集合类:Dictionary泛型集合
- 集合和泛型2-----集合1
- Csharp中的数组、集合、泛型集合
- 黑马程序员-集合与泛型集合
- 集合ArrayList Hashtable,泛型集合
- C# 集合类:Dictionary 泛型集合
- 泛型集合及字典集合理解
- 集合1--List集合及泛型
- 泛型集合和非泛型集合
- 集合、泛型集合、字典、哈希表 总结
- 集合-泛型集合之排序
- 非泛型集合,泛型集合,栈,队列
- 泛型集合
- C#泛型集合
- 泛型集合类型
- 集合和泛型
- linux下C语言多线程编程实例
- WideCharToMultiByte和MultiByteToWideChar函数的用法
- Singleton模式
- Socket编程指南及示例程序2(
- Flash CS3动作面板打开出错[Java运行时环境初始化时出现错误
- 泛型集合
- 数据库设计指南(五)数据库小技巧
- 条款15: 在资源管理类中提供对原始资源的访问
- B,B-,B+ 和B*树
- c# winform----ContextMenuStrip
- wav文件格式分析详解
- 无线接入技术的原理、应用及发展
- mysql 备份还原
- apache配置