Лямбда несколько условий для выбора объектов из списка <T> - PullRequest
2 голосов
/ 02 мая 2011

Я использую c # для выбора некоторых объектов в списке.Следующий код работает.

public void filterByWork(string work, int precision)
        {
            workResults = new List<FbUser>();
            Array keywords = work.Split(' ');
            workResults = userlist.Where(user => user.work != null);
            workResults = workResults.Where((user => user.work.Any(wrk => StringExtensions.match(wrk.employer.name, keywords) >= precision)));

        }

Но что, если я хочу более одного условия?Могу ли я где-нибудь использовать ключевое слово «ИЛИ»?Потому что я хочу выбрать все объекты, где wrk.employer.name = "что-то" ИЛИ wrk.position.name = "что-то".Как это сделать?

Заранее спасибо!

Ответы [ 2 ]

10 голосов
/ 02 мая 2011

Вы можете просто использовать обычный оператор ||:

workResults = workResults.Where((user => 
                  user.work.Any(wrk => wrk.employer.name == "something" || 
                                       wrk.position.name == "something")
                               ));
1 голос
/ 02 мая 2011

Ну, вы можете просто использовать C # или оператор (||).

...