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

本文关键字:一行 代码 我可以 | 更新日期: 2023-09-27 18:31:49

是否可以简化它并仅在一行中使用它,而不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();
}

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

怎么样:

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

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

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