代码之家  ›  专栏  ›  技术社区  ›  Rigobert Song

条件式LINQ where语句?

  •  3
  • Rigobert Song  · 技术社区  · 17 年前

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

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

    1 回复  |  直到 17 年前
        1
  •  11
  •   Jon Skeet    17 年前

    幸运的是,这很容易,因为查询由以下部分组成:

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