System.Object.ReferenceEquals 方法

方法描述

确定指定的 Object 实例是否是相同的实例。

语法定义(C# System.Object.ReferenceEquals 方法 的用法)

public static bool ReferenceEquals(
	Object objA,
	Object objB
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
objA System-Object 要比较的第一个对象。
objB System-Object 要比较的第二个对象。
返回值 System.Boolean 如果 objA 是与 objB 相同的实例,或者如果二者都为 null,则为 true;否则为 false。

提示和注释

不像 Equals 方法和相等运算符,ReferenceEquals 方法不能被重写。 为此,如果要测试两个对象引用的平等,且不确定 Equals 方法的实现时,可以调用 ReferenceEquals 方法。 但是,请注意,如果 objA 和 objB 是值类型,则它们先装箱,然后传递给 ReferenceEquals 方法。

System.Object.ReferenceEquals 方法例子

下面的示例使用 ReferenceEquals 确定两个对象是否是相同的实例。

using System;

class MyClass {

   static void Main() {
      object o = null;
      object p = null;
      object q = new Object();

      Console.WriteLine(Object.ReferenceEquals(o, p));
      p = q;
      Console.WriteLine(Object.ReferenceEquals(p, q));
      Console.WriteLine(Object.ReferenceEquals(o, p));
   }
}


/*

This code produces the following output.

True
True
False

*/

异常

异常 异常描述

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。