Linq сравнивая два списка - изучение linq - PullRequest
0 голосов
/ 08 сентября 2010

Я недавно начал изучать LINQ.Чтобы лучше понять эту технологию, я пытаюсь переписать некоторые из моих предыдущих программ, используя LINQ.Я имею в виду, что я пытаюсь заменить методы foreach и т. Д. Запросами linq.

Сегодня я столкнулся с проблемой.У меня есть список элементов элемента

  List<Element> elementList 
 public  class Element
    {
        private string Id;
        private List<Element> consequentElementsList;


    }

Список элементов содержит все элементы, которые размещены на форме.Каждый элемент имеет список последовательных элементов.Мне нужно найти все элементы предшественника элемента, который я выбрал.Есть ли способ сделать это в LINQ?

1 Ответ

0 голосов
/ 08 сентября 2010

Попробуйте это:

var element = // a single element
var query = from e in elementList
            where e.consequentElementsList.Any(ce => ce.Id == element.Id)
            select e;

Он извлекает каждый элемент из списка элементов, в котором последующий список элементов содержит любой элемент, соответствующий выбранному вами идентификатору.

Конечно, я проигнорировал тот факт, что Id и consequentElementsList являются частными в вашем примере.

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