概述
字符串连接方式有多种,自己总结以下几种:
- 字符串连接符"+"
- 字符串模板"#34;
- string.Concat
- string.Join
- string.Format
- StringBuilder类
字符串连接符"+"
private static string Add(string s1, string s2)
{
return s1 + s2;
}
字符串模板"#34;
private static string Interpolate(string s1, string s2)
{
return #34;{s1}{s2}";
}
string.Concat
private static string Concat(string s1, string s2)
{
return string.Concat(s1,s2);
}
string.Join
private static string Join(string s1, string s2)
{
return string.Join("", s1, s2);
}
string.Format
private static string Format(string s1, string s2)
{
return string.Format("{0}{1}", s1, s2);
}
StringBuilder类
private static string StringBuilder(string s1, string s2)
{
StringBuilder sb = new StringBuilder();
sb.Append(s1);
sb.Append(s2);
return sb.ToString();
}
性能比较
循环执行100万次,结果如下:
字符串连接符"+":21.7527ms
字符串模板"#34;:16.8109ms
string.Concat:15.9983ms
string.Join:33.7065ms
string.Format:73.2649ms
StringBuilder:45.8886ms
从结果来看,$与string.Concat最快,string.format最慢。
早期,我基本就是用+与string.format进行字符串连接,现在基本上就用$,因为$更简洁,更方便。