条件LINQ在哪里声明?

Rig*_*ong 3 .net c# linq lambda

我有一个linq语句,如果下拉索引不是0,我想添加一个额外的where子句.

people.Where(n.surname == "surname" || n.forename == "forename" && (dropdown.SelectedIndex > 0) ? n.id = dropdown.SelectedValue : n.id  > 0).Select(n => n);
Run Code Online (Sandbox Code Playgroud)

我甚至不确定我的尝试是否可能?

我想这样做而不是写两个不同的陈述.

有任何想法吗?

谢谢

Jon*_*eet 11

幸运的是,这很容易,因为查询组成:

var query = people.Where(n.surname == "surname" || n.forename == "forename");
if (dropdown.SelectedIndex > 0)
{
    query = query.Where(n => n.id.ToString() == dropdown.SelectedValue);
}
Run Code Online (Sandbox Code Playgroud)