string是引用类型,只不过它在某此操作上会表现出值类型的特征.
当使用重载操作符”=”给string对象赋值时,string的对象是引用类型,它保留在堆上,而不是堆栈上.因此,当把一个字符串赋给另一个字符串时,会得到对内存中同一个字符串的两个引用.例如,修改其中一个字符串,就会创建一个全新的string对象(注意,这个过程发生在”=”中),而另一个字符串没有改变.考虑下面的代码:
public class MyClass
{
public static void Main()
{
string str1 = "I am a number";
string str2 = str1;
Console.WriteLine("str1 = "+str1);
Console.WriteLine("str2 = "+str2);
str1 = "I am another number";
Console.WriteLine("after str1 changed... str1 = "+str1);
Console.WriteLine("after str1 changed... str2 = "+str2);
Console.ReadLine();
}
}
Output :
str1 = I am a number
str2 = I am a number
after str1 changed...str1 = I am another number
after str1 changed...str2 = I am a number.
你可以在VS中双击这个stringbuilder ,然后左下角会有个图标,你可以自己选择那个命名空间,属于一个提示功能吧,你自己就不用找了
using system.text;反正就这样。。你自己加上这个命名空间就行了
命名空间:using System.Text;
引用:StringBuilder sb = new StringBuilder();
System.Text.StringBuilder