否定变量快捷方式

时间:2013-09-01 20:23:34

标签: c#

这可能是一个微不足道的问题但我无法轻易找到它。

有一些快捷方式,如

i = i + 1;
i++;

i = i+20;
i += 20;

但有什么可以否定一个变量?

MyClass.MyVeryLongSubClass.MoreStuff.MyBooleanHere = !MyClass.MyVeryLongSubClass.MoreStuff.MyBooleanHere;

2 个答案:

答案 0 :(得分:5)

类似的东西:

x ^= true;
但是,这有点模糊,这就是人们通常不会使用它的原因。

答案 1 :(得分:0)

纯数字(而不是模糊)的解决方案是:

x *= -1;

<强>更新

另请注意,赋值操作会产生一个值,并且可以在表达式中使用。

而不是

x = -x;
y = 100 * x;

你可以写

y = 100 * (x = -x);

甚至

y = 100 * (x *= -1);

但我更喜欢第一个版本。第二个和第三个不容易理解。