黑马程序员——泛型列表List<T>

来源:互联网 发布:unity3d读取数据库 编辑:程序博客网 时间:2024/05/22 08:06

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

实际编程过程中经常用到泛型列表,今天简单的总结一下它主要的用法

列表和数组在功能上有很多相似的地方,但是在编程中用的最多的还是拥有诸多优势的列表这样一种数据结构,如容量的可变性等。
现在有这样的一个需求,用一个变量来存储同类的许多商品信息,这些商品的数量是随时变动的,并且我们需要频繁的对这些数据进行增删改的操作,那么我们最先要做的应该是有这样的一个商品类,然后它最好还实现了一些接口。
1.集合对象初始化
同一般类型一样,在定义一个变量的同时我们可以对其进行初始化,如下所示:
var intList = new List<int> (){1,2};
var stringList = new List<string>(){"zeng","ding"};
不同的是集合对象的初始化是由编译器做的转换,它将每一项初始化作为参数供集合对象的Add()调用,第一行代码可以看成是这样的几行:
var intList = new List<int>();
intList.Add(1);
intList.Add(2);
2.添加元素
使用前面提到的Add()方法可以给列表添加元素,其参数类型由泛型类型决定;
使用List<T>类的AddRange()方法,可以一次给集合添加多个元素,因为AddRange()方法的参数是IEnumerable<T>类型的对象,所以也可以传递一个数组。
3.插入元素
Insert()方法可以在指定的位置插入元素,InsertRange()提供了插入大量元素的功能。
4.访问元素
任何实现了IList和IList<T>接口的类都提供了一个索引器,可以是集合的元素想数组一样通过下表的方式去访问,如果想遍历列表的每一个元素可以以Count属性为循环的上限,然后以i为下标通过索引器访问,如下:
for(int i=0;i<列表对象.count;i++)
{
    Console.WriteLine(刘表对象[i]);
}
5.删除元素
RemoveAt()方法通过接收一个int类型的下标删除指定位置的元素,Remove()方法传递一个T类型的元素,在列表中使用IndexOf()方法的返回作为索引进行删除。
6.搜索
IndexOf()方法将T类型的对象作为参数,如果在列表中搜索到指定的元素则返回其下标,否则返回-1。
7.排序
List<T>类可以使用Sort()方法对元素进行排序。

 

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

原创粉丝点击