文档介绍:List 泛型集合集合是 OOP 中的一个重要概念, C# 中对集合的全面支持更是该语言的精华之一。为什么要用泛型集合? 在 C# 之前,主要可以通过两种方式实现集合: a. 使用 ArrayList 直接将对象放入 ArrayList , 操作直观, 但由于集合中的项是 Object 类型,因此每次使用都必须进行繁琐的类型转换。 b. 使用自定义集合类比较常见的做法是从 CollectionBase 抽象类继承一个自定义类, 通过对 IList 对象进行封装实现强类型集合。这种方式要求为每种集合类型写一个相应的自定义类, 工作量较大。泛型集合的出现较好的解决了上述问题,只需一行代码便能创建指定类型的集合。什么是泛型? 泛型是 C# 中的新增元素(C++ 中称为模板), 主要用于解决一系列类似的问题。这种机制允许将类名作为参数传递给泛型类型, 并生成相应的对象。将泛型( 包括类、接口、方法、委托等) 看作模板可能更好理解,模板中的变体部分将被作为参数传进来的类名称所代替, 从而得到一个新的类型定义。泛型是一个比较大的话题, 在此不作详细解析,有兴趣者可以查阅相关资料。怎样创建泛型集合? 主要利用 c 命名空间下面的 Li st<T> 泛型类创建集合,语法如下: 定义 Person 类如下: 可以看到,泛型集合大大简化了集合的实现代码,通过它,可以轻松创建指定类型的集合。非但如此, 泛型集合还提供了更加强大的功能,下面看看其中的排序及搜索。 List<T> ListOfT = new List<T>(); 其中的"T" 就是所要使用的类型,既可以是简单类型,如 string 、i nt ,也可以是用户自定义类型。下面看一个具体例子。 class Person { private string _name; // 姓名 private int _age; // 年龄// 创建 Person 对象 public Person(string Name, int Age) { = Name; = Age; } // 姓名 public string Name { get { return _name; } } // 年龄 public int Age { get { return _age; } }} // 创建 Person 对象 Person p1 = new Person(" 张三", 30); Person p2 = new Person(" 李四", 20); Person p3 = new Person(" 王五", 50); // 创建类型为 Person 的对象集合 List<Person> persons = new List<Person>(); // 将 Person 对象放入集合 (p1); (p2); (p3); // 输出第 2 个人的姓名 (persons[1].Name); 泛型集合的排序排序基于比较, 要排序, 首先要比较。比如有两个数 1、2, 要对他们排序, 首先就要比较这两个数, 根据比较结果来排序。如果要比较的是对象,情况