Object.ReferenceEquals()方法用于确定指定的Object实例是否为同一实例。此方法不能被覆盖。因此,如果用户要测试两个对象引用是否相等,并且不确定是否要执行Equals方法,则可以调用ReferenceEquals方法。
用法: public static bool ReferenceEquals (object ob1, object ob2);
参数:
ob1:这是要比较的第一个对象。
ob2:这是要比较的第二个对象。
返回值:如果ob1与ob2是相同的实例,则此方法返回true,否则,如果两者均为null,则返回false。
以下示例程序旨在说明Object.ReferenceEquals()方法的使用:
示例1:
// C# program to demonstrate the
// Object.ReferenceEquals(object)
// Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
// Declaring and initializing value1
object v1 = null;
// Declaring and initializing value2
object v2 = null;
// using ReferenceEquals(object,
// object) method
bool status = Object.ReferenceEquals(v1, v2);
// checking the status
if (status)
Console.WriteLine("null is equal to null");
else
Console.WriteLine("null is not equal to null");
}
}
输出:
null is equal to null
示例2:
// C# program to demonstrate the
// Object.ReferenceEquals(Object, Object)
// Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
object p = new Object();
object q = null;
// calling get() method
get(p, null);
// assigning p to q
q = p;
get(p, q);
get(q, null);
}
// defining get() method
public static void get(object v1,
object v2)
{
// using ReferenceEquals(Object) method
bool status = Object.ReferenceEquals(v1, v2);
// checking the status
if (status)
Console.WriteLine("{0} is equal to {1}",
v1, v2);
else
Console.WriteLine("{0} is not equal to {1}",
v1, v2);
}
}
输出:
System.Object is not equal to System.Object is equal to System.Object System.Object is not equal to
注意:在这里,null永远不会输出到输出中。
重要事项:
- 如果ob1和ob2都代表值类型的相同实例,则此方法仍然返回false。
- 如果ob1和ob2是字符串,则在字符串为interned的情况下此方法将返回true,因为此方法将永远不会执行值相等性测试。
参考:
相关用法
- C# DateTimeOffset.Add()用法及代码示例
- C# String.Contains()用法及代码示例
- C# Math.Sin()用法及代码示例
- C# Math.Cos()用法及代码示例
- C# Dictionary.Add()用法及代码示例
- C# Math.Tan()用法及代码示例
- C# Math.Abs()方法用法及代码示例
- C# Math.Exp()用法及代码示例
- C# Math.Abs()函数用法及代码示例
注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 Object.ReferenceEquals() Method in C#。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。