C# List集合 作者:马育民 • 2025-07-02 14:11 • 阅读:10001 # 介绍 `List ` 是强类型对象的集合,可以通过索引对其进行访问,并具有用于排序,搜索和修改列表的方法。 它是`System.Collection.Generic` 命名空间下的 `ArrayList` 的泛型版本。 # 构造函数 `List()`:初始化 `List` 类的新实例,该实例为空且具有默认的初始容量。 `List(IEnumerable)`:初始化 `List` 类的新实例,该实例包含从指定集合复制的元素,并且有足够的容量来容纳复制的元素数。 `List(Int32)`:初始化 `List` 类的新实例,该实例为空且具有指定的初始容量。 # 属性 `Capacity`:获取或设置内部数据结构可以在不调整大小的情况下保留的元素总数。 `Count`:获取 `List`中包含的元素数。 `Item[Int32]`:获取或设置指定索引处的元素。 # 方法 `Add(T)`:将对象添加到 `List` 的末尾。 `AddRange(IEnumerable)`:将指定集合的元素添加到 `List` 的末尾。 `Clear()`:从 `List`中删除所有元素。 `Contains(T)`:确定元素是否在 `List` 中。 `ForEach(Action)`:对 `List` 的每个元素执行指定的操作。 `GetEnumerator()`:返回循环访问 `List` 的枚举。 `IndexOf(T)`:搜索指定的对象,并返回整个 `List`中第一个匹配项的从零开始的索引。 `IndexOf(T, Int32)`:搜索指定的对象,并返回从指定索引扩展到最后一个元素的 `List` 中第一个匹配项的从零开始的索引。 `IndexOf(T, Int32, Int32)`:搜索指定的对象,并返回从指定索引开始且包含指定数量的元素的 `List` 中第一个匹配项的从零开始的索引。 `Insert(Int32, T)`:将元素插入指定索引处的 `List`。 `InsertRange(Int32, IEnumerable)`:将集合的元素插入到指定索引处的 `List` 中。 `LastIndexOf(T)`:搜索指定的对象,并返回整个 `List`中最后一个匹配项的从零开始的索引。 `LastIndexOf(T, Int32)`:搜索指定的对象,并返回从第一个元素扩展到指定索引的 `List` 中最后一个匹配项的从零开始的索引。 `LastIndexOf(T, Int32, Int32)`:搜索指定的对象,并返回 `List` 中包含指定数量的元素并在指定索引处结束的最后一个匹配项的从零开始的索引。 `Remove(T)`:从 `List`中删除特定对象的第一个匹配项。 `RemoveAt(Int32)`:移除 `List`的指定索引处的元素。 `RemoveRange(Int32, Int32)`:从 `List` 中删除一系列元素。 `Reverse()`:反转整个 `List`中的元素的顺序。 `Slice(Int32, Int32)`:在源 `List`中创建一系列元素的浅表副本。 `Sort()`:使用默认比较器对整个 `List` 中的元素进行排序。 `Sort(Comparison)`:使用指定的 `Comparison` 对整个 `List` 中的元素进行排序。 `Sort(IComparer)`:使用指定的比较器对整个 `List` 中的元素进行排序。 ToArray()将 `List` 的元素复制到新数组。 ToString()返回一个表示当前对象的字符串。(继承自 Object) # 例子 ``` List primeNumbers = new List(); primeNumbers.Add(1); // 使用add()方法添加元素 primeNumbers.Add(3); primeNumbers.Add(5); primeNumbers.Add(7); var cities = new List(); cities.Add("New York"); cities.Add("London"); cities.Add("Mumbai"); cities.Add("Chicago"); cities.Add(null);// 引用类型列表允许为null ``` # 使用collection-initializer语法添加元素 ``` var bigCities = new List() { "New York", "London", "Mumbai", "Chicago" }; ``` 原文出处:http://malaoshi.top/show_1GW1PuI4gNC2.html