System.Object.Equals 方法 (Object, Object)

方法描述

确定指定的对象实例是否被视为相等。

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

public static bool Equals(
	Object objA,
	Object objB
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
objA System-Object 要比较的第一个对象。
objB System-Object 要比较的第二个对象。
返回值 System.Boolean 如果认为对象相等,则为 true;否则为 false。

提示和注释

Equals 的默认实现支持引用相等性(对于引用类型)和按位相等性(对于值类型)。 引用相等性是指进行比较的多个对象引用所引用的是同一个对象。 按位相等性是指进行比较的多个对象具有相同的二进制表示形式。

请注意,派生类型可以重写 Equals 方法以实现值相等性。 值相等性是指所比较的对象具有相同的值,但是具有不同的二进制表示形式。

有关更多信息,请参见主题Object.Equals(Object)。

System.Object.Equals 方法 (Object, Object)例子

下面的代码示例比较不同的对象。

using System;

public class MyClass {
   public static void Main() {
   string s1 = "Tom";
   string s2 = "Carol";
   Console.WriteLine("Object.Equals(\"{0}\", \"{1}\") => {2}", 
      s1, s2, Object.Equals(s1, s2));

   s1 = "Tom";
   s2 = "Tom";
   Console.WriteLine("Object.Equals(\"{0}\", \"{1}\") => {2}", 
      s1, s2, Object.Equals(s1, s2));

   s1 = null;
   s2 = "Tom";
   Console.WriteLine("Object.Equals(null, \"{1}\") => {2}",
       s1, s2, Object.Equals(s1, s2));

   s1 = "Carol";
   s2 = null;
   Console.WriteLine("Object.Equals(\"{0}\", null) => {2}", 
       s1, s2, Object.Equals(s1, s2));

   s1 = null;
   s2 = null;
   Console.WriteLine("Object.Equals(null, null) => {2}", 
       s1, s2, Object.Equals(s1, s2));
   }
}


/*

This code produces the following output.

Object.Equals("Tom", "Carol") => False
Object.Equals("Tom", "Tom") => True
Object.Equals(null, "Tom") => False
Object.Equals("Carol", null) => False
Object.Equals(null, null) => True

*/

异常

异常 异常描述

命名空间

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 系统要求。