是否有一种类似于使用+=将内容追加到字符串末尾的语法糖,可以将数据前缀添加到字符串开头?
只需使用:
x = "prefix" + x;
没有复合赋值运算符可以实现这个功能。
sorry = "nope, " + sorry;
你可以编写一个扩展方法:
public static class StringExtensions{
public static string Prefix(this string str, string prefix){
return prefix + str;
}
}
var newString = "Bean".Prefix("Mr. ");
这并不是语法糖,但仍然很简单。虽然它并不比已经提出的建议更简单。
C# 中没有 =+ 运算符,但是面向对象编程在这里挺有用的:
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.Insert要好得多。
这些是来自 FCL 的方法,可以用于合并字符串,而无需使用任何连接运算符。+ 和 += 运算符在重复调用时(即循环)容易使用大量内存,因为字符串和临时字符串的创建方式。 (编辑:正如评论中指出的那样,String.Format 通常也不是一个有效的解决方案)
它更像是一种语法替代而不是糖果。
string full = String.Format("{0}{1}{2}", "prefix", "main string", "last string");
更多信息请参考MSDN上的String.Format。
编辑:仅针对两个字符串:
string result = string.Concat("prefix", "last part");
^ 更多关于String.Concat的信息。