在类列表中查找类元素

时间:2010-12-20 17:30:39

标签: c# list find

我正在尝试使用“List.Find”方法来查找与我班级中的元素匹配的内容。这是一个例子......

class MyClass
{
    String item1;
    String item2;
}

List<MyClass> myClassList = new List<MyClass>();

// I am trying to find all instances of "MyClass" in the list "myClassList"
// where the element "item1" is equal to "abc"
// myClassList.Find(item => .item1 == "abc"); ?????

无论如何,我希望能更好地解释一下。我对最后一部分感到困惑,所以我的问题是:如何使用List.Find查找类列表中元素的匹配。

谢谢,如果我不清楚,请告诉我。

2 个答案:

答案 0 :(得分:10)

你的榜样几乎就在那里。您可能应该使用FindAll方法:

List<MyClass> results = myClassList.FindAll(x => x.item1 == "abc");

或者,如果您希望将结果输入为IEnumerable<T>而不是List<T>,则可以使用LINQ的Where方法:

IEnumerable<MyClass> results = myClassList.Where(x => x.item1 == "abc");

答案 1 :(得分:1)

使用where扩展名方法:

var items = myClassList.Where(x => x.item1 == "abc");

上面的代码段将返回属性item1等于“abc”的所有对象。