您的位置:首页 > 其它

整理一下List<T>的常用方法

2013-06-14 15:24 405 查看
前段时间一个项目用的是VS2005开发的,没有Linq没有lambda表达式,所以狠狠的把List<T>的一些方法用了一遍,现整理一下。
1. 在泛型集合中查询符合条件的第一条数据

private static string IDtoFind = "bk109";
private static List<Book> Books = new List<Book>();
Book result = Books.Find(
delegate(Book bk)
{
return bk.ID == IDtoFind;
}
);


其中Find的参数是一个委托,用来指向一个指定查询方式的方法,为省事直接写个匿名方法即可,当然。NET Framework 3.5 以上的话可以用lambda表达式。
2. 搜索与指定条件相匹配的元素,并返回整个 List<T> 中的最后一个匹配元素。与Find()类似。

result = Books.FindLast(
delegate(Book bk)
{
DateTime year2001 = new DateTime(2001,01,01);
return bk.Publish_date < year2001;
});


3. 检索与指定谓词定义的条件匹配的所有元素,这次返回的是符合条件的元素的List<T>

List<Book> results = Books.FindAll(FindComputer);


4. 实现升序或降序的排列

class Pet
{
public string Name { get; set; }
public int Age { get; set; }
}


List<Pet> pets =new List<Pet>() { new Pet { Name="Barley", Age=8 },
new Pet { Name="Boots", Age=4 },
new Pet { Name="Whiskers", Age=1 } };
//升序
IEnumerable<Pet> query = pets.OrderBy(
delegate (Pet pet)
{return pet.Age}
);
//降序
IEnumerable<Pet> query = pets.OrderByDescending(
delegate (Pet pet)
{return pet.Age}
);


5. 实现伪分页

IEnumerable<Pet> query=pets.Skip(2).Take(1);


Skip的意思是跳过前面的数量,Take的意思是获取的数量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: