你能写if((x && y)|| y || z){这样做吗?}?

新手问题:在C#中,我该如何放置一组条件,并且其中一个必须是两个正确的值或条件,而不仅仅是其中一个。例如,以下是有效的语法:

if ( (x && y) || y || z) { do this;}
拉瑟·卡尔森(Lasse V.Karlsen)

只要涉及的所有标识符都是bool标识符,它就是有效的语法,表示包含值的局部变量,参数,常量,字段或属性bool如果不是,则不是合法语法。

我也只指这部分:

if ( (x && y) || y || z) { do this;}
^----------------------^

最后一部分:{ do this; }合法的语法,但我明白你的问题不是关于那部分。

具体来说,您的整个语句说:

  • 要么x && y必须是真的
  • 还是y必须是真的
  • 还是z必须是真的

如果其中任何一个成立,则无论如何都可以“执行此操作”。

现在,让我们进一步分析您的表情。

由于是y独立的,所以参与其中似乎毫无意义x

让我们来看看这个表情:(x && y) || y和看的可能值x,并y与结果:

   x   |   y   |   result  |  why?
---------------------------------------------
 false | false | false     | because neither x nor y is true
 false | true  | true      | because y is true: ... ? || y
 true  | false | false     | because y has to be true either way
 true  | true  | true      | because y is true: ... ? || y

基本上,您可以x完全删除它,它与结果无关(不过请参阅下面的我的额外评论)。

因此,您的最终声明可能是这样的:

if (y || z) { do this; }

综上所述,这是另外一件事。我也假设xy并且z是其他内容的占位符。如果x是一种方法怎么办?那会重要吗?

是的,因为必须知道该x()方法的结果如果调用该方法有副作用不仅仅是返回truefalse则你很可能希望直接将其移除。表达式的最终结果将不取决于的值x,但是可能会产生任何副作用。可能是可疑的设计,但是如果没有更具体的说明,这很难说。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以做x = y = z。在C ++中为什么不允许x <y <z?

来自分类Dev

地图<X,地图<Y,Z>地图<Y,地图<X,Z>

来自分类Dev

如何绘制(x,y,z)

来自分类Dev

范围(n)[x:y:z]

来自分类Dev

当 x,y,z>0 时如何证明 (x+y)/z + (y+z)/x + (x+z)/y>=6

来自分类Dev

Haskell 解析:x ++ y : z

来自分类Dev

如果 xy 确定 z 可以 x 确定 z y 确定 z 吗?

来自分类Dev

SASS与Javascript的“ var x = y || z”等效吗?

来自分类Dev

我可以在(x,y,z)中使用select吗?

来自分类Dev

(x === y)||等条件的简写 (x === z)?

来自分类Dev

Z3表示如果a ^ 3 = x * y * z那么3a <= x + y + z

来自分类Dev

char * x,y,z; char * x,y,z; char(*)x,y,z;和有什么区别?

来自分类Dev

当x = 10 ^(30),y = -10 ^(30)和z = 1时,为什么(x + y)+ z和x +(y + z)不同?

来自分类Dev

PHP,如果等于X,Y或Z

来自分类Dev

What does "for x in y or z:" do in Python?

来自分类Dev

Python中“ x = y = z”赋值的语义

来自分类Dev

使用x,y,z值绘制轮廓

来自分类Dev

F#:“类型X = Z的Y”的含义

来自分类Dev

X +++ .. Y ++ .. Z +的Excel自动填充列

来自分类Dev

以y * z的倍数打印数字x

来自分类Dev

Python函数参数([x [,y [,z]]])的含义

来自分类Dev

PHP如果X大于Y大于Z

来自分类Dev

从cv :: Mat获取x,y,z线

来自分类Dev

解析x,y,z方程中的数字

来自分类Dev

Django 无法分配“x”:“y”必须是“z”。

来自分类Dev

按钮 onclick="function(x,y,z)"

来自分类Dev

图形线 (X,Y,Z) 控件

来自分类Dev

分离/访问像[[[[x,y],z],p]这样的三元组列表?

来自分类Dev

(x'y'+ z)'+ z + xy + wz的布尔代数简化