C# 字符串生成器和字符串Concat
我有一段代码,看起来遵循这个模式C# 字符串生成器和字符串Concat,c#,stringbuilder,C#,Stringbuilder,我有一段代码,看起来遵循这个模式 var stringBuilder =new StringBuilder( string.Concat(" string", _variable, "another string" , _variable2 ... ); 根据某种逻辑,你应该做什么 stringBuilder.Append(" Some more strings"); 我不喜欢使用StringBuilder和string.Concat的不匹配,我想要一种更优雅的方式 我所想的是使用St
var stringBuilder =new StringBuilder( string.Concat(" string", _variable,
"another string" , _variable2 ... );
根据某种逻辑,你应该做什么
stringBuilder.Append(" Some more strings");
我不喜欢使用StringBuilder和string.Concat的不匹配,我想要一种更优雅的方式
我所想的是使用StringBuilder。像这样附加
StringBuilder.Append("string");
StringBuilder.Append(_variable);
StringBuilder.Append("another string");
有比这种方法更好的方法吗?在C#6中,可以使用字符串插值:
var stringbuilder = new StringBuilder($"string{_variable}another string");
在C#6中,可以使用字符串插值:
var stringbuilder = new StringBuilder($"string{_variable}another string");
StringBuilder是执行大量字符串连接的正确方法。它是专门为此而设计的,并且从性能角度来看是最佳的,所以如果您需要大量的字符串操作,请使用它。否则,如果是一个小操作,您可以按照Matt Rowland的建议(如果您有C#6),尽管您根本不需要StringBuilder:
string result = $"string {_variable} another string"
如果你没有C#6,你可以:
string result = string.Format("string {0} another string", _variable)
StringBuilder是执行大量字符串连接的正确方法。它是专门为此而设计的,并且从性能角度来看是最佳的,所以如果您需要大量的字符串操作,请使用它。否则,如果是一个小操作,您可以按照Matt Rowland的建议(如果您有C#6),尽管您根本不需要StringBuilder:
string result = $"string {_variable} another string"
如果你没有C#6,你可以:
string result = string.Format("string {0} another string", _variable)
实际上,
StringBuilder
是第一个支持流畅语法的BCL类,因此您可以简单地链接多个Append
/AppendLine
/AppendFormat
调用:
var stringBuilder = new StringBuilder()
.Append(" string").Append(_variable)
.Append("another string").Append(_variable2)
.Append(...);
实际上,
StringBuilder
是第一个支持流畅语法的BCL类,因此您可以简单地链接多个Append
/AppendLine
/AppendFormat
调用:
var stringBuilder = new StringBuilder()
.Append(" string").Append(_variable)
.Append("another string").Append(_variable2)
.Append(...);
或者在
string.Format
至少可以将字符串文本清除为一个字符串而不是3个以上的字符串。或者在string.Format
至少可以将字符串文本清除为一个字符串,而不是3个以上的字符串。