Object.ReferenceEquals 方法

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

**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Shared Function ReferenceEquals ( _
    objA As Object, _
    objB As Object _
) As Boolean
用法
Dim objA As Object
Dim objB As Object
Dim returnValue As Boolean

returnValue = Object.ReferenceEquals(objA, objB)
public static bool ReferenceEquals (
    Object objA,
    Object objB
)
public:
static bool ReferenceEquals (
    Object^ objA, 
    Object^ objB
)
public static boolean ReferenceEquals (
    Object objA, 
    Object objB
)
public static function ReferenceEquals (
    objA : Object, 
    objB : Object
) : boolean

参数

  • objA
    要比较的第一个 Object
  • objB
    要比较的第二个 Object

返回值

如果 objA 是与 objB 相同的实例,或者如果二者都为空引用,则为 true;否则为 false

示例

下面的代码示例使用 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

*/
using namespace System;
int main()
{
   Object^ o = nullptr;
   Object^ p = nullptr;
   Object^ q = gcnew 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

*/
import System.*;

class MyClass
{
    public static void main(String[] args)
    {
        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));
    } //main
} //MyClass

/*

This code produces the following output.

True
True
False

*/
import System

class MyClass {

   static function Main() {
      var o = null;
      var p = null;
      var q = new Object();

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

MyClass.Main();

/*

This code produces the following output.

True
True
False

*/

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0

请参见

参考

Object 类
Object 成员
System 命名空间
Equals