string Expr(Model model)
{
retrun string.IsNullOrEmpty(model.User.Remark) ? model.User.CnName : model.User.EnName;
}
这个方法里面的三元表达式,看起来很臃肿,请问如何才能优雅的表达?
眼不见,心不烦
string Expr(Model model)
{
return model.Use.Name;
}
移走
public class User
{
public string Name => string.IsNullOrEmpty(Remark) ? CnName : EnName;
public string EnName { get; set; }
public string CnName { get; set; }
public string Remark { get; set; }
}
public class Model
{
public User Use { get; set; }
}
void Expr(Model model) {
var user = model.User;
if (string.isNullOrEmpty(user.Remark) {
return user.CnName;
} else {
return user.EnName;
}
}
很明显上面两位返回值都是错误的,已经是最好看的写法了——超能计算机还没出世 。
如果非要给个选项还可以好看点的话:
Func<Model , string> Expr { get; } = account => { return string.IsNullOrEmpty(user.Remark) ? user.CnName : user.EnName; };
这个更看不懂了。
已经很不错了,你要相信Go语言里面根本没有三元运算符。