我能用条件运算符简化这段代码吗?
本文关键字:代码 段代码 条件运算符 | 更新日期: 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;
总是尝试删除不必要的嵌套块。