c#中具有布尔条件的三元
如果我要编写这段代码,它可以正常使用’if-else’布局。
if(isOn) { i = 10; } else { i = 20; }
虽然我不确定如何使用三元运算符转换它
isOn = true ? i = 1 : i = 0;
错误:无法确定条件表达式的类型,因为’void’和’void’之间没有隐式转换。
编辑:答案= i = isOn ? 10 : 20;
i = isOn ? 10 : 20;
用方法可以做到这一点吗?
if(isOn) { foo(); } else { bar(); }
请尝试以下方法。 顺便说一下,它只适用于值赋值而非方法调用。
i = isOn ? 10 : 20;
参考:
你可以试试这个:
i = isOn? 10:20
MSDN说:
条件必须评估为真或假。 如果condition为true,则计算first_expression并成为结果。 如果condition为false,则计算second_expression并成为结果。 只评估两个表达式中的一个。
编辑:-
如果要在条件运算符中调用void
方法,则可以使用委托,否则无法对方法使用三元运算符。
如果你的方法返回一些东西,那么尝试这样:
i = isOn ? foo() : bar(); //assuming both methods return int
你走在正确的轨道上,但稍微偏离了一点。 i = isOn ? 10 : 20;
如果isOn == true
,则将10
分配给i
如果isOn == true
,则将20
分配给i
尝试以下方法
i = isOn ? 10 :20
请尝试以下方法:
i = isOn ? 10 : 20
这是一个可能有帮助的解释。 您正在寻找的声明是:
i = isOn ? 10 : 20;
这就是这意味着:
(result) = (test) ? (value if test is true) : (value if test is false);
你需要:
i = true ? 10 : 20;
你的病情是true
。
上述就是C#学习教程:c#中具有布尔条件的三元分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1014295.html