C# 2.0 泛型集合List<T>详解与使用示例

5星 · 超过95%的资源 2 下载量 164 浏览量 更新于2024-08-29 1 收藏 105KB PDF 举报
"C# List泛型集合的介绍与使用示例" C#中的List<T>是.NET框架中广泛使用的泛型集合类型,它提供了一种高效且类型安全的方式来存储和管理对象列表。List<T>继承自IEnumerable<T>和ICollection<T>接口,这意味着它可以方便地进行迭代和集合操作。 在C# 2.0之前,程序员通常使用ArrayList来存储对象,但ArrayList由于存储的是Object类型,导致在实际使用时需要进行频繁的类型转换,降低了代码的可读性和效率。另一种方法是自定义集合类,从CollectionBase派生并实现IList接口,但这要求为每个不同类型的集合编写单独的类,增加了开发工作量。 泛型的引入解决了这些问题。泛型允许我们在定义类、接口、方法时使用类型参数,这样在实例化时可以指定具体的类型,从而避免了类型转换和运行时类型检查的开销。List<T>就是这样的一个泛型类,它的T代表你想要存储的任何类型,可以是基本类型,如int或string,也可以是自定义类型。 创建一个List<T>对象非常简单,如下所示: ```csharp List<T> myList = new List<T>(); ``` 例如,如果我们想要创建一个存储Person对象的列表,我们可以这样做: ```csharp class Person { private string _name; private int _age; public Person(string name, int age) { _name = name; _age = age; } // ... 省略其他属性和方法 } List<Person> people = new List<Person>(); people.Add(new Person("张三", 30)); people.Add(new Person("李四", 20)); people.Add(new Person("王五", 50)); ``` List<T>提供了丰富的成员方法,如Add()用于添加元素,Remove()用于移除元素,Contains()用于检查列表中是否存在特定元素,ToArray()和ToDictionary()分别用于转换为数组和字典,以及Sort()和BinarySearch()等用于排序和搜索操作。此外,我们还可以通过索引访问列表中的元素,如`people[0]`,或者使用foreach循环遍历整个列表。 在处理大量数据时,List<T>的性能表现优异,因为它实现了动态增长的数组,当需要更多空间时,会自动扩展容量。这使得在添加和删除元素时,List<T>通常比非泛型ArrayList更高效。 C#的List<T>泛型集合是编程中不可或缺的工具,它结合了泛型的优势,提供了一种类型安全、高效且易于使用的集合实现,简化了对象列表的管理和操作。