如何根据整数字段获取List <>中的项?

Bev*_*vin 1 c# generics list

我的程序中有一个List <>,填充了我的自定义类.我希望能够通过简单地指定一个整数从列表中提取一个对象,然后返回所有具有整数属性设置为该整数的对象.我想这样做:

int exampleint = 5;
List<MyClass> extract = new List<MyClass>();
for(int i = 0; i < list.Length; i++) {
    if(list[i].Number == exampleint)
        extract.Add(list[i]);
}
return extract;
Run Code Online (Sandbox Code Playgroud)

有没有更好或更快的方法呢?就是想.

更新:克里斯,你的答案有点偏.这个:

 List<MyClass> extract = list.FindAll(delegate(int obj) { return obj.Number == exampleint; });
Run Code Online (Sandbox Code Playgroud)

事实应该是这样的:

List<MyClass> extract = list.FindAll(new Predicate<MyClass>(delegate(MyClass obj) { return obj.Number == exampleint; }));
Run Code Online (Sandbox Code Playgroud)

你的第一个例子给了我错误.但是,感谢你指出我正确的方向,它现在似乎工作.

Chr*_*ett 7

List<MyClass> extract = list.FindAll(obj => obj.Number == exampleint);
Run Code Online (Sandbox Code Playgroud)

或(如果您使用的是.NET 2.0且无法使用表达式)

List<MyClass> extract = list.FindAll(delegate(MyClass obj) { return obj.Number == exampleint; });
Run Code Online (Sandbox Code Playgroud)