我们知道+=
运营商会这样做
x += y
相当于
x = x + y
但是有没有这样的运营商
x = y + x
整数x + y = y + x
没关系。但我想要字符串连接。
达到相同结果的另一种方法是
x.Insert(0, y);
您尝试执行的操作没有运算符,但您也可以使用扩展方法:
public static string AddBefore(this string value, string before)
{
return before + value;
}
然后显然这样称呼它:
x = x.AddBefore(y);
我建议你应该全力以赴地打字,x = y + x
因为它是清晰且易于维护的代码。如果您重载具有神秘含义的运算符,那么代码就会变得更加难以理解。
+= 具有明确且定义明确的含义,结果反映了参数的顺序(x += y
使字符串保持 x, y 的顺序)。拥有这样的语句x ?= y
会产生 y,x 恕我直言,这将是一个非常令人困惑的构造。
您可以编写一个像 Prepend() 这样的扩展方法来使含义更清晰,但这将比原始表达式输入更多,因此可能毫无意义。
不,没有。你可以使用+=
,结果应该是一样的,因为x + y == y + x
.
对于字符串,请考虑Concat
、Format
方法或StringBuilder
。
使用 StringBuilder.Insert 方法(Int32,布尔值)