gpt4 book ai didi

c# - string 和 class 都是引用类型,为什么比较会返回不同的结果呢?

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:50 26 4
gpt4 key购买 nike

我正在比较 2 个字符串和 2 个类对象,那么为什么字符串第一个比较给出结果“TRUE”,而对象比较给出“FALSE”?请解释这两种情况下的内存位置是怎么回事?

class Program
{
public class Person
{
public string Name { get; set; }
}

static void Main(string[] args)
{
string s1 = "xyz";
string s2 = "xyz";

bool b = s1 == s2;

Person p1 = new Person();
Person p2 = new Person();

bool x = p1 == p2;

}
}

最佳答案

虽然字符串是引用类型,但相等运算符(== 和 !=)被定义为比较字符串对象的值,而不是引用。

http://msdn.microsoft.com/en-us/library/362314fe.aspx

关于c# - string 和 class 都是引用类型,为什么比较会返回不同的结果呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9413374/

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