我想用Linq做这件事:
select when name<>'' then name else username end displayname from users where id = 1
我知道如何使用linq选择标量值
string name = from u in users
select new {u.name}.SingleOrDefault();
但是我怎么能在何时实施案例呢?
答案 0 :(得分:4)
我认为这应该有所帮助:
string name = (from u in users
select new
{
Name = u.name != "" ? u.name : u.username
}).SingleOrDefault();
您也可以使用string.IsNullOrWhiteSpace()
答案 1 :(得分:1)
var resul = users.Where(x => new { Name = u.name != "" ? u.name : u.username });