Object.Equals メソッド (Object, Object)
指定した Object インスタンスが等しいかどうかを判断します。
Overloads Public Shared Function Equals( _
ByVal objA As Object, _ ByVal objB As Object _) As Boolean
[C#]
public static bool Equals(objectobjA,objectobjB);
[C++]
public: static bool Equals(Object* objA,Object* objB);
[JScript]
public static function Equals(
objA : Object,objB : Object) : Boolean;
パラメータ
戻り値
objA が objB と同じインスタンスである場合、両方のインスタンスが null 参照の場合、または objA.Equals(objB)
が true を返す場合は true 。それ以外の場合は false 。
解説
Equals の既定の実装では、参照を等価にする機能だけがサポートされています。ただし、派生クラスでこのメソッドをオーバーライドすると、値を等価にする機能をサポートできます。
参照型の等価とは、参照先オブジェクトが等しい場合、つまり同一オブジェクトを参照している参照の関係です。値型の等価とは、2 つの値がビット単位で等しい状態です。 ValueType クラスは値型をサポートします。
このメソッドは、両方のパラメータが null 参照かどうかを確認してから、 objA.Equals(objB)
を呼び出します。
使用例
[C#, C++, JScript] 異なるオブジェクトを比較するコード例を次に示します。
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 のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, Common Language Infrastructure (CLI) Standard
参照
Object クラス | Object メンバ | System 名前空間 | Object.Equals オーバーロードの一覧 | ReferenceEquals | ValueType