【发布时间】:2019-10-08 05:07:31
【问题描述】:
我想将以下条件转换为三元
if (!string.IsNullOrEmpty(objModel.Status))
{
if (objModel.Status == "0")
{
Model.Sort = "Result1";
}
else if (objModel.Status == "8")
{
Model.Sort = "Result2";
}
else
{
Model.Sort = "Result3";
}
}
我已经尝试如下,但它上升到 if 而 else not else if
Model.Sort = !string.IsNullOrEmpty(Model.Status)
? (Model.Status == "0" ? Retult1 : string.Empty)
: string.Empty;
【问题讨论】:
-
听起来很简单,你试过这样做吗?此外,这听起来是个糟糕的主意——用三元条件运算符重写的这段代码看起来很糟糕。
-
你这样做有什么问题?您尝试了什么,尝试的解决方案遇到了什么问题?
-
您的最终版本是“Result3”吗?目前您的第二个
if部分是不必要的。 -
“我想将以下条件转换为三元”请不要。不要为了在文件中节省几行(可用)空间而将代码转换为难以阅读的内容。
-
此外,您的代码的原始版本无法转换为三元,因为如果字符串为空/空,则不会发生任何事情。三元必须始终返回一个值。
标签: c# ternary-operator