我在浏览堆栈溢出时遇到了这个问题:
在这个问题中,这个小宝石存在:
int i = +1
我以前从未见过这种语法。所以我在visual studio中打开了交互式C#窗口:
Microsoft (R) Roslyn C# Compiler version 1.3.4.60902
Loading context from 'CSharpInteractive.rsp'.
Type "#help" for more information.
> int i = +1;
> i
1
> +1 == 1
true
这类似于+=
? 这是一些新语法吗?这个运算符是什么?它与普通变量声明有何不同?
那是一元加运算符。从文档:
对数字类型进行一元 + 运算的结果只是操作数的值。
在您编写代码的大多数理智上下文1中,它将是可选的(+1
就像1
我们在编写文字一样)。
它主要是为了与一元减运算符对称而存在。
大多数情况下,您不会编写包含它的代码,但如果您正在生成代码,能够以任何方式应用一元运算符2会很方便。
它与 无关+=
。
1疯狂的代码可以覆盖自定义类型的此运算符,并使其不仅仅是空操作。但我很想了解一个用例,它使代码更易于理解,这应该是大多数代码的主要目标。
2例如 假设您将一组操作链接在一起,并且对于每个附加元素,您希望更改整体结果的符号。这让您只需存储一个运算符,并在您最终决定输出结果时盲目应用它
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句