gpt4 book ai didi

c# - 比较 2 个引用字符串返回 true

转载 作者:行者123 更新时间:2023-11-30 23:28:35 25 4
gpt4 key购买 nike

<分区>

string a = "abc";
string b = "abc";
Console.WriteLine(String.ReferenceEquals(a, b));

ab 是明显不同的引用,但我明白了。为什么是这样?我在某处读到,当您将 abc 分配给 b 时,编译器会发现堆中已经存在准确的 abc 值并指向与 a 相同的内存地址,但如果是这种情况,那么根据该逻辑,下面这段代码的最后一行应该打印 true:

class SomeClass
{
public int _num;
public SomeClass(int num)
{
_num = num;
}
}
var a = new SomeClass(3);
var b = new SomeClass(3);
Console.WriteLine(Object.ReferenceEquals(a, b)); // prints false

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