Поиск элементов класса в списке классов - PullRequest
3 голосов
/ 20 декабря 2010

Я пытаюсь использовать метод «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 ]

10 голосов
/ 20 декабря 2010

Ваш пример почти там.Вероятно, вам следует использовать метод FindAll:

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

Или, если вы предпочитаете, чтобы ваши результаты печатались как IEnumerable<T> вместо List<T>, вы можете использовать LINQWhere метод:

IEnumerable<MyClass> results = myClassList.Where(x => x.item1 == "abc");
1 голос
/ 20 декабря 2010

Используйте метод расширения , где :

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

Вышеприведенный фрагмент вернет все объекты со свойством item1, равным "abc".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...