📅  最后修改于: 2023-12-03 15:14:31.946000             🧑  作者: Mango
在C#中,Object.ReferenceEquals()方法用于比较两个对象的引用是否相等。它是Object类的一个静态方法,所以它可以在任何引用类型中使用。
Object.ReferenceEquals(object objA, object objB)
参数:
返回值:
class Program
{
static void Main(string[] args)
{
string str1 = "hello";
string str2 = "hello";
string str3 = new string("hello".ToCharArray());
Console.WriteLine("str1 and str2 reference equal? {0}", Object.ReferenceEquals(str1, str2));
Console.WriteLine("str2 and str3 reference equal? {0}", Object.ReferenceEquals(str2, str3));
Console.WriteLine("str1 and str3 reference equal? {0}", Object.ReferenceEquals(str1, str3));
Console.ReadLine();
}
}
输出:
str1 and str2 reference equal? True
str2 and str3 reference equal? False
str1 and str3 reference equal? False
Object.ReferenceEquals()方法适用于以下情况:
注意:如果要比较对象的值是否相等,应使用Equals()方法。如果没有重写Equals()方法,则默认情况下使用Object.Equals()比较它们的引用。如果重写了Equals()方法,则应该在其中实现正确的比较逻辑。
Object.ReferenceEquals()方法是用于判断两个引用类型是否引用同一个对象的方法。它适用于检查两个对象是否是同一个实例,比较引用类型时并不想要比较它们的值,以及比较值类型时。在比较对象的值是否相等时,应使用Equals()方法。