gpt4 book ai didi

.net - 按值字符串.net?

转载 作者:行者123 更新时间:2023-12-04 23:57:02 24 4
gpt4 key购买 nike

<分区>

我知道.NET中的String是Object的子类,.NET中的Object是引用类型。因此,下面的代码让我有点困惑。你能帮我理解其中的区别吗?谢谢

我声明了一个名为 MyInt 的类:

class MyInt
{
int i;

public int number
{
get { return i; }
set { i = value; }
}

public override string ToString()
{
return Convert.ToString(i);
}
}

然后是下面的代码:

MyInt a = new MyInt();
MyInt b = new MyInt();
a.number = 5;
b.number = 7;
b = a;
a.number = 9;

Console.WriteLine(a.ToString());
Console.WriteLine(b.ToString());

产量:

9  
9

这是我理解的,因为这是一个 Object = Reference Type,所以 a 和 b 现在引用堆上的同一个对象。

但是这里发生了什么?

 string a1;
string b1;
a1 = "Hello";
b1 = "Goodbye";
b1 = a1;
a1 = "Wazzup?";

Console.WriteLine(a1);
Console.WriteLine(b1);

这会产生:

Wazzup?
Hello

String是被区别对待的对象吗?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com