【发布时间】:2016-10-11 14:10:58
【问题描述】:
如果我有:
logicBeingTested.isItTrue ? (doSomeStuffIfItsTrue) : (doSomeNothingIfFalse);
我如何做到这一点,所以如果我的论点是正确的,它只会执行该陈述的正确部分而不是错误的。我试过这样做:
logicBeingTested.isItTrue ? (status = true) : ();
但这不起作用。我知道我可以通过只做一个 if 语句来解决这个问题,但出于好奇,是否有可能对一个论点给出什么都不做的答案?
编辑:我来自 OP 的布尔值“状态”有点误导,我在新编辑中澄清了我想要的内容
【问题讨论】:
-
你标记了这个if-statement。您在这里根本不使用
if语句,但您应该使用。 -
我认为三元运算不适合这种情况 - 普通的
if语句会更好。 -
可能是
status = status?首先,这是对条件运算符的一种奇怪使用,你对这个操作的结果做些什么吗?听起来这应该是一个普通的if块。 -
@user1666620 谢谢不知道这被称为三元运算。我认为这和 if 语句是一样的,只是更简洁
-
对于只能为真或假的布尔值,这绝对没有意义。布尔值有一个标准值,如果不更改则为假。你可以给它赋真或假,这与给它赋真或什么都不做(它保持假)是一样的。
标签: c# if-statement