Questions tagged «operator-precedence»

运算符优先级是指控制以编程语言在表达式或语句中评估运算符的顺序的规则。与[执行顺序]不同,后者涵盖了软件系统中执行事件的顺序。

5
Java中评估顺序的规则是什么?
我正在阅读一些Java文本,并获得以下代码: int[] a = {4,4}; int b = 1; a[b] = b = 0; 在本文中,作者没有给出明确的解释,最后一行的效果是: a[1] = 0; 我不确定自己是否理解:评估是如何发生的?

4
C ++中逗号运算符与return的不同行为?
这(注意逗号运算符): #include <iostream> int main() { int x; x = 2, 3; std::cout << x << "\n"; return 0; } 输出2。 但是,如果return与逗号运算符一起使用,则: #include <iostream> int f() { return 2, 3; } int main() { int x; x = f(); std::cout << x << "\n"; return 0; } 输出3。 为什么逗号运算符的行为与众不同return?

6
每个循环的C#以什么顺序遍历List <T>?
我想知道C#中的foreach循环遍历System.Collections.Generic.List&lt;T&gt;对象的顺序。 我发现了关于同一主题的另一个问题,但是我认为它不能使我满意。 有人指出没有顺序被定义。但是正如其他人所述,它遍历数组的顺序是固定的(从0到Length-1)。8.8.4 foreach语句 也有人说,对于带有顺序的任何标准类(例如List&lt;T&gt;)也是如此。我找不到任何文档来进行备份。因此,就我所知,它现在可能会像现在那样工作,但是也许在下一个.NET版本中,它会有所不同(即使可能不太可能)。 我也看了List(t).Enumerator运气不好的文档。 另一个相关问题指出,对于Java,它在文档中特别提到: List.iterator()以正确的顺序返回此列表中元素的迭代器。” 我正在C#文档中寻找类似的内容。 提前致谢。 编辑:谢谢您为我提供的所有答案(令人惊奇的是我得到这么多回复的速度如此之快)。从所有答案中我了解到的是,List&lt;T&gt;它始终会按其索引顺序进行迭代。但是我仍然希望看到一个清晰的文档说明这一点,类似于上的Java文档List。

6
C#条件AND(&&)或(||)优先
我们一直在工作中遇到不必要的编码参数。今天,我问条件AND(&amp;&amp;)或OR(||)是否具有更高的优先级。我的一位同事坚持认为他们的优先级相同,我对此表示怀疑,因此我进行了查找。 根据MSDN,AND(&amp;&amp;)的优先级高于OR(||)。但是,您可以向一个持怀疑态度的同事证明吗? http://msdn.microsoft.com/zh-CN/library/aa691323(VS.71).aspx bool result = false || true &amp;&amp; false; // --&gt; false // is the same result as bool result = (false || true) &amp;&amp; false; // --&gt; false // even though I know that the first statement is evaluated as bool result = false || (true &amp;&amp; …


2
箭头(->)运算符的优先级/优先级最低,还是分配/组合分配的优先级最低?
JLS: 的最低优先级操作者是lambda表达式的箭头( - &gt;) ,接着由赋值运算符。 遵循哪个方向(增加优先级,减少优先级)?-“跟随”是指分配的优先级较高还是较低(相对于箭头运算符)?我猜想,这是因为“最低”(箭头)表示绝对最低。 据我了解,箭头(-&gt;)应该在此普林斯顿的最底部运算符优先级表的(位于所有赋值运算符的下方),因此箭头(-&gt;)的优先级为0(零)(根据该表)。 我的理解正确吗? 考试托盘似乎说箭头优先级至少与分配相同。此外,还阐明了箭头的关联性是Left-&gt; To-&gt; Right(与分配不同)。我没有找到JLS的箭头关联性报价。 我一直认为分配优先级原则上最低。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.