在 where 的多个条件下使用 linq

Using linq for multiple condition in where

我有一个条件列表,我想在 C# 中使用 linq 做这样的事情:

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

谢谢

在您的情况下,如下转换 where 语句就足够了:

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

使用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;
var filtred_list = oldList.Where(x => conditions.Any(c => c.attribut == x));