等价+ =用于前缀

时间:2009-11-05 14:56:26

标签: c# string

是否有一些语法糖用于将数据添加到字符串的开头,其方式与+ =附加到字符串的方式类似?

5 个答案:

答案 0 :(得分:20)

只需使用:

x = "prefix" + x;

没有复合赋值运算符可以执行此操作。

答案 1 :(得分:17)

sorry = "nope, " + sorry;

答案 2 :(得分:7)

您总是可以编写扩展方法:

public static class StringExtensions{

    public static string Prefix(this string str, string prefix){
        return prefix + str;
    }

}

var newString = "Bean".Prefix("Mr. ");

这不是语法糖,但很容易。虽然它并不比已经建议的更简单。

答案 3 :(得分:7)

C#中没有= +运算符,但幸运的是OO来到这里:

string value = "Jamie";
value = value.Insert(0, "Hi ");

有关string.Insert:http://msdn.microsoft.com/en-us/library/system.string.insert.aspx

的更多信息

我同意a = b + a似乎是最明智的答案。它读取比使用string更好。插入是肯定的。

答案 4 :(得分:0)

这些是来自FCL的方法,可用于合并字符串,而无需使用任何连接运算符。由于字符串和临时字符串的性质,重复调用(即循环)时,+和+ =运算符很容易使用大量内存。 (编辑:正如评论中所指出的,String.Format通常也不是一种有效的解决方案)

它更像是糖的语法替代品。

string full = String.Format("{0}{1}{2}", "prefix", "main string", "last string");

^有关String.Format at MSDN的更多信息。

修改:仅限两个字符串:

string result = string.Concat("prefix", "last part");

^有关String.Concat的更多信息。