任何连接像x = y + x的运算符

时间:2012-10-05 07:37:18

标签: c# operators

我们知道+=运营商会这样做

x += y

相当于

x = x + y

但是有没有一个运营商这样做

x = y + x

整数x + y = y + x

好了。但我想要字符串连接。

5 个答案:

答案 0 :(得分:3)

实现相同结果的另一种方法是

    x.Insert(0, y);

答案 1 :(得分:1)

您尝试执行的操作没有运算符,但您也可以使用扩展方法:

public static string AddBefore(this string value, string before)
{
    return before + value;
}

然后显然称之为:

x = x.AddBefore(y);

答案 2 :(得分:1)

我建议你应该大力输入一个速记x = y + x,因为它是清晰且易于维护的代码。如果你使用神秘的含义重载操作符,那么代码就变得更加难以理解。

+ =具有明确且定义明确的含义,结果反映了参数的顺序(x += y使字符串保持x,y的顺序)。有一个像x ?= y这样产生y的语句,x将是一个非常混乱的构造恕我直言。

你可以编写一个像Prepend()这样的扩展方法来使含义更清晰,但这种方法比原始表达式更有用,所以可能毫无意义。

答案 3 :(得分:0)

不,没有。您可以使用+=,结果应该相同,因为x + y == y + x

对于字符串,请考虑ConcatFormat方法或StringBuilder

答案 4 :(得分:0)

使用 StringBuilder.Insert方法(Int32,布尔)

http://msdn.microsoft.com/en-us/library/0xzfkkwa.aspx