【发布时间】:2014-08-29 16:07:15
【问题描述】:
如果我要编写这段代码,它适用于正常的“if-else”布局。
if(isOn)
{
i = 10;
}
else
{
i = 20;
}
虽然我不确定如何使用三元运算符进行转换
isOn = true ? i = 1 : i = 0;
错误:无法确定条件表达式的类型,因为 'void' 和 'void' 之间没有隐式转换。
编辑:
答案=i = isOn ? 10 : 20;
可以用方法做到这一点吗?
if(isOn)
{
foo();
}
else
{
bar();
}
【问题讨论】:
-
编辑添加方法问题。
-
对于您的编辑:为什么要使用方法来做到这一点?你的
if还不够清楚吗?这也取决于这些方法返回什么。如果他们没有返回任何东西void,那么我相信你不能使用三元运算符。 -
如果您有新问题,请单独提出问题,不要用新问题更新现有问题。
-
感谢@Habib 我的错误。
标签: c# ternary-operator