是否可以在 linq 中使用整数语句?

Is it possible to use in statement for integer inside linq?

如果包含多个元素,我需要查看集合内部。 我可以在声明中使用吗?

示例:

public class Person
{
   public int Age { get; set; }
}
    
private void button1_Click(object sender, EventArgs e)
{
    var person = new List<Person>();
    person.Add(new Person { Age = 1 });
    person.Add(new Person { Age = 5 });
    person.Add(new Person { Age = 2 });
    person.Add(new Person { Age = 3 });

    var selectedPersons = person.Where(x => x.Age in (1, 3, 5));
}

我假设 in 的意思与您在 SQL-where 中使用的意思相同。如果你想要所有包含 1、2 或 3 的 Age,你可以这样写:

var selectedPersons = person.Where(x => new [] {1, 2, 3}.Contains(x.Age));

如果你想 select 所有年龄在 1 到 3 岁之间的人,你会写:

var selectedPersons = person.Where (x => x.Age >= 1 && x.Age <= 3);