次の方法で共有


Object.Equals メソッド

2 つの Object インスタンスが等しいかどうかを判断します。

オーバーロードの一覧

指定した Object が、現在の Object と等しいかどうかを判断します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Overridable Function Equals(Object) As Boolean

[C#] public virtual bool Equals(object);

[C++] public: virtual bool Equals(Object*);

[JScript] public function Equals(Object) : Boolean;

指定した Object インスタンスが等しいかどうかを判断します。

[Visual Basic] Overloads Public Shared Function Equals(Object, Object) As Boolean

[C#] public static bool Equals(object, object);

[C++] public: static bool Equals(Object*, Object*);

[JScript] public static function Equals(Object, Object) : Boolean;

使用例

[C#, C++, JScript] 異なるオブジェクトを比較するコード例を次に示します。

[C#, C++, JScript] メモ   ここでは、Equals のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
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

*/

[C++] 
#using <mscorlib.dll>
using namespace System;

int main() {
   String* s1 = S"Tom";
   String* s2 = S"Carol";
   Console::WriteLine(S"Object.Equals(\"{0}\", \"{1}\") => {2}",
      s1, s2, __box(Object::Equals(s1,s2)));

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

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

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

   s1 = 0;
   s2 = 0;
   Console::WriteLine(S"Object.Equals(null, null) => {2}",
      s1, s2, __box(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

*/

[JScript] 
import System

package Equals0
{    

public class MyClass {
   public static function Main() {
   var s1 : String = "Tom";
   var s2 : String = "Carol";
   var array : Object [] = new Object[3];

   array[0] = s1;
   array[1] = s2;
   array[2] = System.Object.Equals(s1, s2);

   Console.WriteLine("Object.Equals('{0}', '{1}') => {2}", 
      array);

   s1 = "Tom";
   s2 = "Tom";
   array[0] = s1;
   array[1] = s2;
   array[2] = System.Object.Equals(s1, s2);
   
   Console.WriteLine("Object.Equals('{0}', '{1}') => {2}", 
      array);

   s1 = null;
   s2 = "Tom";
   array[0] = s1;
   array[1] = s2;
   array[2] = System.Object.Equals(s1, s2);
   
   Console.WriteLine("Object.Equals(null, '{1}') => {2}",
       array);

   s1 = "Carol";
   s2 = null;
   array[0] = s1;
   array[1] = s2;
   array[2] = System.Object.Equals(s1, s2);
   
   Console.WriteLine("Object.Equals('{0}', null) => {2}", 
       array);

   s1 = null;
   s2 = null;
   array[0] = s1;
   array[1] = s2;
   array[2] = System.Object.Equals(s1, s2);
   Console.WriteLine("Object.Equals(null, null) => {2}", 
       array);
   }   
}

}

Equals0.MyClass.Main();


/*

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

*/

[Visual Basic] Visual Basic のサンプルはありません。C#、C++、および JScript のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

Object クラス | Object メンバ | System 名前空間