C# 的string类型赋值!

2025-01-19 12:57:07
推荐回答(5个)
回答1:

我可以很肯定的告诉你,“string a=b="asd"; ”这句话本来就是错的,语法错误!至少在Visual Studio 2005无法通过!哪有人这样定义的。
应该这样:
string a="asd";
string b=a;
string类型是一种很特殊的引用类型,它是只读的!!!也就是上面的句子会导致两次分配内存空间!这也是为什么很多书都提到当操作很多字符串时,要使用stringbuidler,就是这个原因!
当然你可以使用String.Intern把它放到拘留池中这样就引用同一个对象了。
例如
string a="asd";
string b=string.intern(a);

回答2:

string a="asd"; 

string b=a;

 其实a,b是一块内存空间,但是一旦改变其中一个的值 就变成了两个

回答3:

这样写是指向同一个"asd";

如果写成
a="asd";
b="asd";

这样就是有两个asd了
a 和 b 各 指向 一个。

回答4:

废话!明显是开辟了两个空间噻,a一个、b一个,每个空间里面都存储的是"abc" ,你可以验证一下:

如果a是b的引用,那么你修改a的值,b的值也会跟着改变;如果没有改变,那么就说明是a和b都拥有自己的空间

回答5:

up,都说完了