条件LINQ在哪里声明?

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

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

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

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

有任何想法吗?

谢谢

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

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