在 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));
我有一个条件列表,我想在 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));