我刚刚在代码中发现了一些非常奇怪的东西.我错误地把索引作为这样的索引:
int a = 1; int b = 1; Dictionarydic = new Dictionary (); dic[a -+ b].Field = 0;
正如你所看到的那样," - +"opperator真的像" - "一样工作.无论如何,代码很开心,编译直到找到它.
它是Unity3d中用于游戏的代码的一部分,我现在正在处理它.
问题是:这是正常的吗?或者这是单声道2中的已知错误并且已修复.我找不到任何关于它的信息.
这没什么奇怪的,也没有-+
运营商.有一元运算+
符和二元-
运算符.只需添加括号和一些间距以使其更清晰:
int a = 1; int b = 1; int c = a -+ b; int d = a - (+b); // Same as above
请注意,您也可以使用+-
一元运算-
符和二元+
运算符:
int e = a +- b; int f = a + (-b); // Same as above
虽然你不能使用++
或--
喜欢这个,因为那些真的是独立的运算符,你可以添加一个空格:
int g = a + + b; int h = a + (+b); // Same as above int i = a - - b; int j = a - (-b); // Same as above
您还可以将多个一元运算符链接在一起,以获得真正的疯狂:
int k = a +-+-+-+ b; int l = a + (-(+(-(+(-(+b)))))); // Same as above