是否有一些语法糖用于将数据添加到字符串的开头,其方式与+ =附加到字符串的方式类似?
答案 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的更多信息。