我想摆脱那个if else语句是否可以用三元运算符/条件运算符来实现呢?
public class control
{
public int result;
public int text;
}
public class someclas
{
control con = new control();
if(!string.IsNullOrEmpty(error)) //// **Is it possible to use ternary / conditional operator to avoid below if else statements ?**
{
control.result = 123;
control.text = error;
}
else
{
control.text ="success";
}
}
答案 0 :(得分:2)
没有。这是不可能的,因为第一个块中有多个语句。
如果您重新构建代码,则可能,但它对可读性没有帮助。
答案 1 :(得分:2)
怎么样:
control con = String.IsNullOrEmpty(error) ? new control() { text = "success" } :
new control() { text = error, result = 123 };
答案 2 :(得分:0)
var con = new control { text = "success" };
if (string.IsNullOrEmpty(error)) return;
con.result = 123;
con.text = error;
总是尝试删除不必要的嵌套块。这些块会降低代码的可读性。