C#中的String类型,其实是引用类型,String对象被分配在堆上,而不是栈上。因此,当把一个字符串变量赋予另一个字符串时,会得到对内存中同一个字符串的两个引用。但是,String与引用类型在常见的操作上有一些区别。例如,字符串是不可改变的。修改其中一个字符串,就会创建一个全新的String对象,而另一个字符串不会发生任何变化。如下列代码:
string a = "a1";
string b = "b" + a;
Console.WriteLine("b is :" + b);
a = "a2";
Console.WriteLine("a is :" + a);
Console.WriteLine("b is :" + b);
Console.Read();
输出结果为:
ba1
a2
ba1
时间: 2024-10-07 05:56:04