您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

C# List<T>的详细用法

wiki 2022/2/3 9:52:59 dotnet 字数 6220 阅读 544

List泛型集合是C#编程中的经常使用的集合之一,相对数组它可以动态的添加元素而不是声明的时候就必须指定大小。相对于ArrayList集合和Hashtable集合的优势是其元素的数据类型可以确定。而不是默认的父类类型object
前言:
   List泛型集合是C#编程中的经常使用的集合之一,相对数组它可以动态的添加元素而不是声明的时候就必须指定大小。相对于ArrayList集合和Hashtable集合的优势是其元素的数据类型可以确定。而不是默认的父类类型object。
List泛型集合的声明与元素添加
1.List泛型集合的声明:
List<数据类型> 变量名=new list<数据类型>();
2.List泛型集合的声明案例:
//声明一个List泛型集合的变量listNew
List<string> listNew=new List<string>();
注意:
1,以上代码声明的是一个string类型的泛型集合,其元素必须都为string型。
2,可以声明其他元素的泛型集合,只需要将string改成对应类型便可。
3.List泛型集合添加元素的Add()方法:
代码案例:为第二步声明的集合添加五个元素:
listNew.Add("一号元素");
listNew.Add("二号元素");
listNew.Add("三号元素");
listNew.Add("四号元素");
listNew.Add("五号元素");
说明:
1,List泛型集合只能使用Add()方法添加元素,不能直接指定下标赋值如:“listnew[0]="一号元素";”这样的语句是不合法的。因为List泛型集合在声明之后没有添加元素之前是空的,直接指定下标赋值会导致索引超出范围。
2,一旦元素添加成功,指定下标修改集合中的元素,如在这个声明例子中我们可以将"二号元素"改成任何字符串,如“你好”。
listNew[1]="你好";
3,List泛型集合和数组一样,其下标是从0开始的。
因为元素是字符串,我们也可以添加一个字符串数组在集合中,使用AddRange()方法便可:
案例)为listNew集合添加一个字符串数组
代码:
//声明一个字符串数组,有三个字符串元素
string[] str=new string[]{"六号元素","七号元素","八号元素"};
//使用AddRange()方法将元素添加到集合中
listNew.AddRange(str);
//添加成功
添加完成之后该集合便有了8个元素。
List泛型集合的常用属性
1.Count属性
返回List泛型集合中元素的数量。
如我们对上面已经添加过元素的集合获得其Count属性值
Console.WriteLine(listNew.Count); //输出ListNew集合的元素数量
输出值为:5
2.Capacity属性
返回在不增加大小的情况下目前List泛型集合的容量
List泛型集合在添加元素的时候容量是变化的,其过程(原理)如下:
当添加元素的时候集合的容量不足以容纳所有元素就会自动增加目前元素数一倍的容量。
所以在上面的例子中listNew集合的容量的增加过程如下:
添加第一个元素的时候Capacity的值为1;
添加第二个元素的时候Capacity的值为2;
添加第三个元素的时候Capacity的值为4;
添加第四个元素的时候Capacity的值为4;
添加第五个元素的时候Capacity的值为8;
List泛型集合的常用方法:
1.Add()方法,添加元素的方法,前面已经讲过
2.Clear()方法,无返回值,清空集合中的所有元素
案例:清空ListNew集合中的所有元素
listNew.Clear();
3.Contains()方法,返回布尔型数据,参数为集合中元素的数据类型
功能:检查集合中是否存在某元素
案例:检查listNew集合中是否存在字符串元素"一号元素"。
代码:listNew.Contains("一号元素");
返回值为:true。
4.Equals()方法
比较两个List泛型集合是否相等
举例,比较listNew集合与listold集合是否相等:
代码:listNew.Equals(listold); //本人就不声明listold集合了,理解Equals()方法即可。因为不常用。
5.Indexof()返回值为int,从索引位置0开始查找元素,并得到索引值
比如我们要在listNew集合中查找元素"四号元素"的第一个索引位置(考虑到有多个"四号元素的情况")
代码:
listNew.Indexof("四号元素");
返回值为:3。
6.Insert()方法,插入元素
如我们在listNew集合的索引位置3上插入"三点五号元素"
listNew.Insert(3,"三点五号元素");
插入后元素数量变为增加了1,原来索引3位置上的元素在索引位置4上了,后面的元素全部向后移动了一格。
7.Remove()方法,删除指定元素
如我们删除刚刚添加的"三点五号元素"
代码:listNew.Remove("三点五号元素");
删除这个元素之后后面的元素会上移一个索引位置
8.RemoveAt()方法,根据索引位置删除元素
如:我们删除当前三号索引位置处的元素
代码:listNew.RemoveAt(3);
删除这个元素之后后面的元素会上移一个索引位置。
9.Reserve()方法,将集合中的所有元素反向排序
如,我们将listNew集合中的所有元素反向排序
代码:listNew.Reserve();
反向排序之后集合中元素的索引会有改变
10.ToArray()方法,将集合转换为数组
如我们将listNew集合转换为一个string数组
string[] str=listNew.ToArray(); 


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶