Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Well, actually:</p> <pre><code>(A&gt;=100 &amp;&amp; (B&lt;100 || B&lt;A)) </code></pre> <p>is the same as:</p> <pre><code>(A&gt;=100 &amp;&amp; B&lt;A) </code></pre> <p>That's because, if <code>B &lt; 100</code>, it's automatically less than <code>A</code> since <code>A &gt;= 100</code> and here's the code that proves it (in C but C# should be the same):</p> <pre><code>#include &lt;stdio.h&gt; static void test (int a, int b) { printf ("a=%3d, b=%3d : ok=%d\n", a, b, (a&gt;=100 &amp;&amp; (b&lt;100 || b&lt;a)) == (a&gt;=100 &amp;&amp; b&lt;a)); } int arr[] = {1,2,3,99,100,101,199,200,201}; int main (void) { int i, j; for (i = 0; i &lt; sizeof(arr)/sizeof(*arr); i++) { for (j = 0; j &lt; sizeof(arr)/sizeof(*arr); j++) { test (arr[i], arr[j]); } } return 0; } </code></pre> <p>It outputs:</p> <pre><code>a= 1, b= 1 : ok=1 a= 1, b= 2 : ok=1 a= 1, b= 3 : ok=1 a= 1, b= 99 : ok=1 a= 1, b=100 : ok=1 a= 1, b=101 : ok=1 a= 1, b=199 : ok=1 a= 1, b=200 : ok=1 a= 1, b=201 : ok=1 a= 2, b= 1 : ok=1 a= 2, b= 2 : ok=1 a= 2, b= 3 : ok=1 a= 2, b= 99 : ok=1 a= 2, b=100 : ok=1 a= 2, b=101 : ok=1 a= 2, b=199 : ok=1 a= 2, b=200 : ok=1 a= 2, b=201 : ok=1 a= 3, b= 1 : ok=1 a= 3, b= 2 : ok=1 a= 3, b= 3 : ok=1 a= 3, b= 99 : ok=1 a= 3, b=100 : ok=1 a= 3, b=101 : ok=1 a= 3, b=199 : ok=1 a= 3, b=200 : ok=1 a= 3, b=201 : ok=1 a= 99, b= 1 : ok=1 a= 99, b= 2 : ok=1 a= 99, b= 3 : ok=1 a= 99, b= 99 : ok=1 a= 99, b=100 : ok=1 a= 99, b=101 : ok=1 a= 99, b=199 : ok=1 a= 99, b=200 : ok=1 a= 99, b=201 : ok=1 a=100, b= 1 : ok=1 a=100, b= 2 : ok=1 a=100, b= 3 : ok=1 a=100, b= 99 : ok=1 a=100, b=100 : ok=1 a=100, b=101 : ok=1 a=100, b=199 : ok=1 a=100, b=200 : ok=1 a=100, b=201 : ok=1 a=101, b= 1 : ok=1 a=101, b= 2 : ok=1 a=101, b= 3 : ok=1 a=101, b= 99 : ok=1 a=101, b=100 : ok=1 a=101, b=101 : ok=1 a=101, b=199 : ok=1 a=101, b=200 : ok=1 a=101, b=201 : ok=1 a=199, b= 1 : ok=1 a=199, b= 2 : ok=1 a=199, b= 3 : ok=1 a=199, b= 99 : ok=1 a=199, b=100 : ok=1 a=199, b=101 : ok=1 a=199, b=199 : ok=1 a=199, b=200 : ok=1 a=199, b=201 : ok=1 a=200, b= 1 : ok=1 a=200, b= 2 : ok=1 a=200, b= 3 : ok=1 a=200, b= 99 : ok=1 a=200, b=100 : ok=1 a=200, b=101 : ok=1 a=200, b=199 : ok=1 a=200, b=200 : ok=1 a=200, b=201 : ok=1 a=201, b= 1 : ok=1 a=201, b= 2 : ok=1 a=201, b= 3 : ok=1 a=201, b= 99 : ok=1 a=201, b=100 : ok=1 a=201, b=101 : ok=1 a=201, b=199 : ok=1 a=201, b=200 : ok=1 a=201, b=201 : ok=1 </code></pre> <p>But, if those were just general items rather than specific ones, <code>&amp;&amp;</code> has a <a href="http://msdn.microsoft.com/en-us/library/aa691323%28VS.71%29.aspx" rel="nofollow noreferrer">higher precedence</a> than <code>||</code> in C#, so you should use:</p> <pre><code>(A&gt;=100 &amp;&amp; (B&lt;100 || B&lt;A)) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload