C#拼接字符串及简单性能比较(c#拼接字符串的方式)
在C#编程中拼接字符串应该是最常见的场景之一,假如现在有几个变量需要转换成字符串并按格式拼接,常用的几种方法:
int a = 1;
char b = 'c';
double c = 1.2;
1、string.Format()方法,和C++的用法类似:
public string Format() => string.Format("{0} {1} {2}", a, b, c);
2、简单 “+” 拼接法:
public string ToStringFormat() => a.ToString() + " " + b.ToString() + " " + c.ToString();
3、StringBuild.Append()方法:
public string StringBuildFormat()
{
StringBuilder s = new();
s.Append(a);
s.Append(" ");
s.Append(b);
s.Append(" ");
s.Append(c);
return s.ToString();
}
4、$字符串内插,$是c# 6.0 的语言特性,功能类似string.format(),更方便的地方在于不要像format一样使用索引,可以直接使用变量、表达式或者方法的执行:
public string DollarFormat()=>#34;{a} {b} {c}";
下面用Benchmark简单测试一下性能
结论:StringBuild时间最短,但内存开销相对$要大。$语法糖时间第二短,但内存开销最小。因此在简单几个字符串拼接适宜直接使用$语法,编程也简练。很多的变量或字符串很长时,可以用StringBuild.Append来提高效率。