You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中+前置运算符为何无法将负数转正数?及负运算符称谓咨询

C#一元正负运算符问题解答

为什么+myInt没法把负数转正?

C#里的+在这里是一元正运算符,它的逻辑就是直接返回操作数的原值,不管操作数是正还是负,+x的结果永远等于x。而你用的-是一元负运算符,它的作用是返回操作数的相反数,所以正数变负,负数变正。

举实际例子:

  • 当myInt = 5时,-myInt计算的是5的相反数,输出-5;
  • 当myInt = -5时,+myInt只会返回-5本身,如果要得到正数,应该用-myInt(此时计算的是-5的相反数,结果是5)。

这种设计是C#的语言规范,一元正运算符本来就没有符号翻转的功能,它更多是为了语法对称,或者用来明确表达“取原值”的意图。

-myInt里的-叫什么?

这个-是一元负运算符(Unary Negation Operator)。注意它和减法里的-(二元减运算符,比如a - b)是同一个符号,但属于不同的运算符——一元负运算符只需要一个操作数,二元减运算符需要两个操作数。

内容的提问来源于stack exchange,提问作者Occultation

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 21:54:53