是否可以在一行中编写以下 C#代码 ,而无需使用if
和else
?
string res = "";
if (!string.IsNullOrEmpty(var1))
res = string.Format("{0}/{1}", var1, var2);
else
res = var2;
答案 0 :(得分:3)
尝试一下,
string res = !string.IsNullOrEmpty(var1) ? string.Format("{0}/{1}", var1, var2) : var2;
基本上,
(if this statement is true (like if block's condition part)) ? (this section works) : ((else) this section works);
希望这会有所帮助,
答案 1 :(得分:2)
条件运算符?:也称为三元条件运算符,它根据布尔表达式的值为true或false来计算布尔表达式并返回两个表达式之一的结果。 条件运算符的语法如下:
condition ? consequent : alternative
所以您要求的代码行是
string res = !string.IsNullOrEmpty(var1) ? string.Format("{0}/{1}", var1, var2) : var2;
答案 2 :(得分:1)
通常,您可以在三元运算符 if
?:
string res = $"{(!string.IsNullOrEmpty(var1) ? $"{var1}/" : "")}{var2}";
但是是什么?