一、雉搽妤粲List<T>描述
1)、表示可通过索引访问的对象的强类型坐逃缥卯列表;提供用于对列表进行搜索、排序和操作的方法。2)、是ArrayList类的泛型等效类。3)、可以使用一个整数索引访问此集合中的元素;索引从 零 开始。4)、可以接收null空引用(VB中的Nothing)。5)、允许重复元素
二、List<T>构造函数
List<T>()
初始化 List<T> 类的新实例,该实例为空并且具有默认初始容量(0)。
List<T>(IEnumerable<T>)
初始化 List<T> 类的新实例,该实例包含从指定集合复制的元素并且具有足够的容量来容纳所复制的元素。
List<T>(Int32)
始化 List<T> 类的新实例,该实例为空并且具有指定的初始容量。
三、List<T>属性
Capacity
获取或设置该内部数据结构在不调整大小的情况下能够容纳的元素总数。
Count
获取 List<T> 中实际包含的元素数。
四、List<T>方法
Add
将对象添加到 List<T> 的结尾处。
AddRange
将指定集合的元素添加到 List<T> 的末尾。
AsReadOnly
返回当前集合的只读 IList<T> 包装。
BinarySearch(T)
使用默认的比较器在整个已排序的 List<T> 中搜索元素,并返回该元素从零开始的索引。
BinarySearch(T, IComparer<T>)
使用指定的比较器在整个已排序的 List<T> 中搜索元素,并返回该元素从零开始的索引。
BinarySearch(Int32, Int32, T, IComparer<T>)
使用指定的比较器在已排序 List<T> 的某个元素范围中搜索元素,并返回该元素从零开始的索引。
Clear
从 List<T> 中移除所有元素。
Contains
确定某元素是否在 List<T> 中。
ConvertAll<TOutput>
将当前 List<T> 中的元素转换为另一种类型,并返回包含转换后的元素的列表。
CopyTo(T[])
将整个 List<T> 复制到兼容的一维数组中,从目标数组的开头开始放置。
Exists
确定 List<T> 是否包含与指定谓词所定义的条件相匹配的元素。
Find
搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List<T> 中的第一个匹配元素。
FindIndex(Predicate<T>)
搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List<T> 中第一个匹配元素的从零开始的索引。
ForEach
对 List<T> 的每个元素执行指定操作。
GetEnumerator
返回循环访问 List<T> 的枚举器。
IndexOf(T)
搜索指定的对象,并返回整个 List<T> 中第一个匹配项的从零开始的索引。
Insert
将元素插入 List<T> 的指定索引处。
InsertRange
将集合中的某个元素插入 List<T> 的指定索引处。
LastIndexOf(T)
搜索指定的对象,并返回整个 List<T> 中最后一个匹配项的从零开始的索引。
Remove
从 List<T> 中移除特定对象的第一个匹配项。
Reverse()
将整个 List<T> 中元素的顺序反转。
Sort()
使用默认比较器对整个 List<T> 中的元素进行排序。
五、常用方法实例
(1)创建及初始化:
List<string> myList = new List<string>();//初始Capacity为 零List<string> myList2 = new List<string>(30); //初始Capacity为 30List<string> myList3 = new List<string>(new string[] { "1", "a", "2", "b" });//初始Capacity 为 4,并且元素已被复制
(2)添加一个元素 List.Add(T item)
mlist.Add("d");
(3)添加集合元素
string[] Arr2 ={"f","g"."h"};mlist.AddRange(Arr2);
(4)在index位置添加一个元素 Insert(int index,T item)
mlist.Insert(1,"p");
(5)遍历List中元素
foreach(T element in mlist) T的类型与mlist声明时一样{ Console.WriteLine(element);}
(6)删除元素
List.Remove(T item) 删除一个值mlist.Remove("a");
List.RemoveAt(int index);删除下标为index的元素mlist.RemoveAt(0);List.RemoveRange(int index,int count); 下标index开始,删除count个元素mlist.RemoveRange(3,2);