我可以将此代码简化为一行

时间:2016-01-25 12:11:44

标签: c# entity-framework lambda

是否可以简化此操作并仅在一行中使用它,而不使用if (strFilter == "")

if (strFilter == "")
{
    IList<User> users = Context.Users.Where(u => u.Location == "UK").ToList();
}
else
{
    IList<User> users = Context.Users.Where(u => u.Location == "UK" && u.JobTitle == strFilter).ToList();
}

2 个答案:

答案 0 :(得分:5)

怎么样:

var users = Context.Users.Where(u => u.Location == "UK" && (strFilter == "" || u.JobTitle == strFilter));

答案 1 :(得分:1)

您也可以使用条件运算符尝试此操作:

 User user = Context.Users.Where(u => u.Location == "" ? u.Location == "" : u.Location == "UK" && u.JobTitle == strFilter);