Object.Equals, méthode (Object, Object) (System)

Changer de vue:
ScriptFree
Bibliothèque de classes .NET Framework
Object.Equals, méthode (Object, Object)
Cet article a fait l'objet d'une traduction manuelle. Pour afficher simultanément cette page et le contenu source en anglais, choisissez le paramètre d'affichage Basse densité.

Détermine si les instances d'objet spécifiées sont considérées comme égales.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
Syntaxe

Visual Basic
Public Shared Function Equals ( _
	objA As Object, _
	objB As Object _
) As Boolean
C#
public static bool Equals(
	Object objA,
	Object objB
)
VisualC++
public:
static bool Equals(
	Object^ objA, 
	Object^ objB
)
F#
static member Equals : 
        objA:Object * 
        objB:Object -> bool 

Paramètres

objA
Type : System.Object
Premier objet à comparer.
objB
Type : System.Object
Second objet à comparer.

Valeur de retour

Type : System.Boolean
true si les objets sont considérés comme identiques ; sinon, false.
Notes

L'implémentation par défaut de Equals prend en charge égalité des références pour les types référence, et l'égalité au niveau du bit pour les types valeur. L'égalité des références signifie que les références d'objets qui sont comparées font référence au même objet. L'égalité au niveau du bit signifie que les objets qui sont comparés ont la même représentation binaire.

Notez qu'un type dérivé peut substituer la méthode Equals pour implémenter l'égalité des valeurs. L'égalité des valeurs signifie que les objets comparés ont la même valeur mais des représentations binaires différentes.

Pour plus d'informations, consultez la rubrique Object.Equals(Object).

Exemples

L'exemple de code suivant compare différents objets.

Visual Basic

Imports System

Public Class [MyClass]
    Public Shared Sub Main() 
        Dim s1 As String = "Tom"
        Dim s2 As String = "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 = Nothing
        s2 = "Tom"
        Console.WriteLine("Object.Equals(null, ""{1}"") => {2}", s1, s2, [Object].Equals(s1, s2))

        s1 = "Carol"
        s2 = Nothing
        Console.WriteLine("Object.Equals(""{0}"", null) => {2}", s1, s2, [Object].Equals(s1, s2))

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

    End Sub 'Main
End Class '[MyClass]
'
'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 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

*/


VisualC++

using namespace System;
int 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 = nullptr;
   s2 = "Tom";
   Console::WriteLine( "Object.Equals(null, \"{1}\") => {2}", s1, s2, Object::Equals( s1, s2 ) );
   s1 = "Carol";
   s2 = nullptr;
   Console::WriteLine( "Object.Equals(\"{0}\", null) => {2}", s1, s2, Object::Equals( s1, s2 ) );
   s1 = nullptr;
   s2 = nullptr;
   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

*/


Informations de version

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :
Plateformes

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Voir aussi

Référence