什么是>;+并且>;-C#中的平均值

本文关键字:gt 平均值 -C# 什么 并且 | 更新日期: 2023-09-27 18:29:33

我不小心尝试了这个,它编译了!所以我想知道这可能意味着什么。。谷歌没帮上忙。。

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

这两个代码都编译btw.

什么是>;+并且>;-C#中的平均值

它解析为

3 > +4

3 > -4

因此,将其分解为一元+和一元-运算符。

如果你想要一个有趣的方式来探索这一点,写

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

然后在调试器中探索得到的表达式树CCD_ 3。您将在树中看到一元运算符。

3是否大于4?

3比-4大吗?

如果你怀疑某件事在做什么,可以写一个小的测试应用程序:

  int i = +3;
  int j = -4;
  Console.WriteLine(i);
  Console.WriteLine(j);
  Console.WriteLine((3 > +4));
  Console.WriteLine((3 > -4));

试着像一样在dothis()后面加一个分号

dothis();

然后观察+和-运算符发生了什么。他们将从大于或小于叹息转移到接近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),这将始终导致错误。

第二个变为如果3>-4(负4),这将始终导致true。