我能用条件运算符简化这段代码吗?

本文关键字:代码 段代码 条件运算符 | 更新日期: 2023-09-27 18:06:01

我想摆脱如果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";
}
}

我能用条件运算符简化这段代码吗?

如何:

control con = String.IsNullOrEmpty(error) ? new control() { text = "success" } : 
                                            new control() { text = error, result = 123 };

No。这是不可能的,因为在第一个块中有多条语句。

如果你重构你的代码,这是可能的,但它无助于可读性。

你可以这样简化你的代码:

var con = new control { text = "success" };
if (string.IsNullOrEmpty(error)) return;
con.result = 123;
con.text = error;

总是尝试删除不必要的嵌套块。