拼接字符串常用的有以下4种:
1. 使用加号 +
stirng str ="a";
str= "a"+"b";
string是引用类型,保留在堆上,用的时候传的是内存中的地址,每次修改就会重新创建一个新的string对象来存储字符串,原有的会被自动回收。
第一种方式的实现原理,第一步先在内存中分配空间,存储str变量的对象,值为"a", “+”时,又会重新创建一个对象来存储新的字符串(“ab"),把str指向这个新的地址。所以只有简单几步的拼写时,一般不会有太大问题,如果有时候需要循环拼接时,就会不断创建新的对象,很浪费性能和内存。
2.使用StringBuilder.Append
StringBuilder str=new StringBuilder("111");
str.Append("abc");
3.使用String.Format
string str= String.Format("{0}{1}{2}","a","b","c");
Format内部其实就是StringBuilder
4.使用$
C# 6.0和VS 2015支持
是为了替代string.format();原先赋值需要占位符和变量,造成的不易理解
String str="hello";
String str2="world";
var ccb = $"Hi! {str}{str2}";