2012-03-31 2 views
-2

私はこれを偶然試してコンパイルしました!だから私はこれはおそらく..コードが..> +と>はC#で意味します

+12

考えてみてください。 – leppie

+0

yeaはleppieによって正しくコメントされました –

+3

「Ctrl + K」「Ctrl + D」 – CodesInChaos

答えて

10

ところでコンパイルどちらもそれは

3 > +4 

3 > -4 
として解析し

if (3 >+ 4) 
    dothis() //this is never hit btw.. 

if (3 >- 4) 
    dothis() //this is hit. 

.. didntの助けをグーグルに何を意味するかもしれないと思いまして

したがって、unary +unary -オペレータに。

あなたは、これを探求

Expression<Func<int, int, bool>> func = (x, y) => x >+ y; 

を書き込み、デバッガで得られた発現ツリーfuncを探索するための興味深い方法をしたい場合。ツリー内に単項演算子が表示されます。

+0

ああ、ありがとう.. – nawfal

2

3が4を超えていますか?

-4よりも大きいですか?

あなたがやっている何かについて疑問が今までしている場合は、少しテストアプリケーションの書き込み:

dothis(); 

ようdothis(後にセミコロンを入れてみてください

int i = +3; 
    int j = -4; 

    Console.WriteLine(i); 
    Console.WriteLine(j); 

    Console.WriteLine((3 > +4)); 
    Console.WriteLine((3 > -4)); 
2

)は、次に何が起こるか見て+と - 演算子に渡します。彼らはため息をつくと近い4.

if (3 > +4) 
    dothis() //this is never hit btw.. 
      //will never hit in the entire universe 

if (3 > -4) 
    dothis() //this is hit 
      //will always be a hit 

まず3> 4(ポジティブ4)常にfalseになりますどの場合なりを動かすよりも大きいか小さいからシフトされます。

2番目の値が3> -4(負の4)になると、常に真となります。

関連する問題