单行处理条件语句

时间:2020-03-05 13:05:43

标签: c# conditional-statements

是否可以在一行中编写以下 C#代码 ,而无需使用ifelse

string res = "";

if (!string.IsNullOrEmpty(var1))
    res = string.Format("{0}/{1}", var1, var2);
else
    res = var2;

3 个答案:

答案 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}";

但是是什么