Условное LINQ, где заявление? - PullRequest
3 голосов
/ 03 июня 2009

У меня есть оператор linq, к которому я хочу добавить дополнительное предложение where, если выпадающий индекс не равен 0.

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

Я даже не уверен, что то, что я пытаюсь, возможно ??

Я бы хотел сделать это вместо того, чтобы писать два разных утверждения.

Есть идеи?

Спасибо

1 Ответ

11 голосов
/ 03 июня 2009

К счастью, это легко, потому что запросы составляют:

var query = people.Where(n.surname == "surname" || n.forename == "forename");
if (dropdown.SelectedIndex > 0)
{
    query = query.Where(n => n.id.ToString() == dropdown.SelectedValue);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...