Использование linq для нескольких условий, где - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть список условий, и я хочу сделать что-то подобное, используя linq в C #:

var filtred_list = oldList.Where(
    foreach (int condition in conditions) {
        c => c.attribut == condition;
    }
);

Спасибо

Ответы [ 3 ]

0 голосов
/ 27 апреля 2018

Использование IEnumerable<T>.Contains(T) метод:

var filtred_list = oldList.Where(c => conditions.Contains(c.attribut));

или

var filtred_list = from o in oldList
                   where conditions.Contains(o.attribut)
                   select o;
0 голосов
/ 27 апреля 2018
var filtred_list = oldList.Where(x => conditions.Any(c => c.attribut == x));
0 голосов
/ 27 апреля 2018

В вашем случае достаточно конвертировать оператор, указанный ниже:

var filtred_list = oldList.Where(
        c => conditions.Contains(c.attribut);
    }
);
...