确保某个值等于 LINQ 中的多个值之一
本文关键字:确保 LINQ | 更新日期: 2023-09-27 18:31:47
>我有一个包含"ABC"、"DEF"等值的 IEnumerable。
我正在尝试形成一个 LINQ 查询,其中对象中的属性值可能等于我的 IEnumerable 中包含的众多值之一。如何形成该 LINQ 查询?
var statesFilter = new List<string>();
statesFilter.Add("NY");
statesFilter.Add("CA");
var employees = new List<Employee>();
employees = getDataFromSomewhere();
// Code below is not working. Just wanted to give you an idea about my LINQ query
var myFilteredList = employees.Where(x => x.State.Contains(statesFilter));
员工类可以是这样的:
public class Employee
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string State { get; set; }
}
如果State
属性是字符串类型,则应将Where
更改为以下内容:
var myFilteredList = employees.Where(x => statesFilter.Contains(x.State));
此外,您可以这样做:
var myFilteredList = employees.Where(x => statesFilter.Any(s=>s==x.State));
条件应该是
x=>statesFilter.Contains(x.State))