我的程序中有一个List <>,填充了我的自定义类.我希望能够通过简单地指定一个整数从列表中提取一个对象,然后返回所有具有整数属性设置为该整数的对象.我想这样做:
int exampleint = 5; Listextract = new List (); for(int i = 0; i < list.Length; i++) { if(list[i].Number == exampleint) extract.Add(list[i]); } return extract;
有没有更好或更快的方法呢?就是想.
更新:克里斯,你的答案有点偏.这个:
Listextract = list.FindAll(delegate(int obj) { return obj.Number == exampleint; });
事实应该是这样的:
Listextract = list.FindAll(new Predicate (delegate(MyClass obj) { return obj.Number == exampleint; }));
你的第一个例子给了我错误.但是,感谢你指出我正确的方向,它现在似乎工作.
Listextract = list.FindAll(obj => obj.Number == exampleint);
或(如果您使用的是.NET 2.0且无法使用表达式)
Listextract = list.FindAll(delegate(MyClass obj) { return obj.Number == exampleint; });