是否有" = +"运营商?

时间:2015-07-02 12:20:25

标签: c# syntax-error

我想知道为什么+=有效但=+无效。我们说我的代码是这样的:

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;相同。是否存在=+无效或无法在语法上正确的规则?

2 个答案:

答案 0 :(得分:8)

简单的答案是否定的,没有=+运算符。你必须这样做

strTwo = "Hello " + strTwo;

不存在+是数字类型的有效一元运算符的部分原因。

var intValue = +2; 

答案 1 :(得分:3)

原则上它与规则或语法纠正无关,但它涉及C#语言中不存在该运算符的事实。

无论如何,我建议不要在字符串中使用+或+ =运算符。如果散布在整个应用程序中,这是一个可以咀嚼内存的坏习惯。

例如,使用string.Concatstring.Format代替。或StringBuilder用于大型字符串操作。