我想知道为什么+=
有效但=+
无效。我们说我的代码是这样的:
string strOne = "World!";
strOne =+ "Hello ";//strOne = "Hello " + strOne; not valid
//Error: Operator '+' cannot be applied to operand of type 'string'
//Intended Output: Hello World!
string strTwo = "Hello ";
strTwo += "World!";//strTwo = strTwo + "World!"; valid
//Output: Hello World!
我也不确定strOne =+ "Hello ";
是否与strOne = "Hello " + strOne;
相同。是否存在=+
无效或无法在语法上正确的规则?
答案 0 :(得分:8)
简单的答案是否定的,没有=+
运算符。你必须这样做
strTwo = "Hello " + strTwo;
不存在+
是数字类型的有效一元运算符的部分原因。
var intValue = +2;
答案 1 :(得分:3)
原则上它与规则或语法纠正无关,但它涉及C#语言中不存在该运算符的事实。
无论如何,我建议不要在字符串中使用+或+ =运算符。如果散布在整个应用程序中,这是一个可以咀嚼内存的坏习惯。
例如,使用string.Concat
或string.Format
代替。或StringBuilder用于大型字符串操作。