我有一段看起来遵循这种模式的代码,
var stringBuilder =new StringBuilder( string.Concat(" string", _variable,
"another string" , _variable2 ... );
根据某些逻辑做
stringBuilder.Append(" Some more strings");
我不喜欢使用StringBuilder和string.Concat的不匹配,我想要一种更优雅的方式
我认为使用StringBuilder.Append是这样的,
StringBuilder.Append("string");
StringBuilder.Append(_variable);
StringBuilder.Append("another string");
这种方法有更好的方法吗?
答案 0 :(得分:2)
实际上StringBuilder
是AFAIK第一个支持流利语法的BCL类,因此您可以简单地链接多个Append
/ AppendLine
/ AppendFormat
来电:
var stringBuilder = new StringBuilder()
.Append(" string").Append(_variable)
.Append("another string").Append(_variable2)
.Append(...);
答案 1 :(得分:0)
在C#6中,您可以使用字符串插值:
var stringbuilder = new StringBuilder($"string{_variable}another string");
答案 2 :(得分:0)
StringBuilder是进行大量字符串连接的正确方法。它是专门为此而制作的,从性能的角度来看是最佳的,所以如果你想要大量的字符串操作,请使用它。否则,如果它是一个小操作,你可以跟随Matt Rowland建议(如果你有C#6),尽管你根本不需要StringBuilder:
string result = $"string {_variable} another string"
如果你没有C#6,你可以这样做:
string result = string.Format("string {0} another string", _variable)