Object.Equals Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Determina se duas instâncias de objeto são iguais.
Sobrecargas
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. |
| Equals(Object, Object) |
Determina se as instâncias de objeto especificadas são consideradas iguais. |
Equals(Object)
- Origem:
- Object.cs
- Origem:
- Object.cs
- Origem:
- Object.cs
- Origem:
- Object.cs
- Origem:
- Object.cs
Determina se o objeto especificado é igual ao objeto atual.
public:
virtual bool Equals(System::Object ^ obj);
public virtual bool Equals(object obj);
public virtual bool Equals(object? obj);
abstract member Equals : obj -> bool
override this.Equals : obj -> bool
Public Overridable Function Equals (obj As Object) As Boolean
Parâmetros
- obj
- Object
O objeto a comparar com o objeto atual.
Devoluções
true se o objeto especificado for igual ao objeto atual; caso contrário, false.
Observações
Para mais informações sobre esta API, consulte Observações Suplementares da API para Object.Equals.
Ver também
Aplica-se a
Equals(Object, Object)
- Origem:
- Object.cs
- Origem:
- Object.cs
- Origem:
- Object.cs
- Origem:
- Object.cs
- Origem:
- Object.cs
Determina se as instâncias de objeto especificadas são consideradas iguais.
public:
static bool Equals(System::Object ^ objA, System::Object ^ objB);
public static bool Equals(object objA, object objB);
public static bool Equals(object? objA, object? objB);
static member Equals : obj * obj -> bool
Public Shared Function Equals (objA As Object, objB As Object) As Boolean
Parâmetros
- objA
- Object
O primeiro objeto a comparar.
- objB
- Object
O segundo objeto para comparar.
Devoluções
true se os objetos forem considerados iguais; caso contrário, false. Se ambos objA forem objBnulos, o método devolve true.
Exemplos
O exemplo seguinte ilustra o Equals(Object, Object) método e compara-o com o ReferenceEquals método.
using System;
public class Example
{
public static void Main()
{
Dog m1 = new Dog("Alaskan Malamute");
Dog m2 = new Dog("Alaskan Malamute");
Dog g1 = new Dog("Great Pyrenees");
Dog g2 = g1;
Dog d1 = new Dog("Dalmation");
Dog n1 = null;
Dog n2 = null;
Console.WriteLine("null = null: {0}", Object.Equals(n1, n2));
Console.WriteLine("null Reference Equals null: {0}\n", Object.ReferenceEquals(n1, n2));
Console.WriteLine("{0} = {1}: {2}", g1, g2, Object.Equals(g1, g2));
Console.WriteLine("{0} Reference Equals {1}: {2}\n", g1, g2, Object.ReferenceEquals(g1, g2));
Console.WriteLine("{0} = {1}: {2}", m1, m2, Object.Equals(m1, m2));
Console.WriteLine("{0} Reference Equals {1}: {2}\n", m1, m2, Object.ReferenceEquals(m1, m2));
Console.WriteLine("{0} = {1}: {2}", m1, d1, Object.Equals(m1, d1));
Console.WriteLine("{0} Reference Equals {1}: {2}", m1, d1, Object.ReferenceEquals(m1, d1));
}
}
public class Dog
{
// Public field.
public string Breed;
// Class constructor.
public Dog(string dogBreed)
{
this.Breed = dogBreed;
}
public override bool Equals(Object obj)
{
if (obj == null || !(obj is Dog))
return false;
else
return this.Breed == ((Dog) obj).Breed;
}
public override int GetHashCode()
{
return this.Breed.GetHashCode();
}
public override string ToString()
{
return this.Breed;
}
}
// The example displays the following output:
// null = null: True
// null Reference Equals null: True
//
// Great Pyrenees = Great Pyrenees: True
// Great Pyrenees Reference Equals Great Pyrenees: True
//
// Alaskan Malamute = Alaskan Malamute: True
// Alaskan Malamute Reference Equals Alaskan Malamute: False
//
// Alaskan Malamute = Dalmation: False
// Alaskan Malamute Reference Equals Dalmation: False
open System
// Class constructor
type Dog(dogBreed) =
// Public property.
member _.Breed = dogBreed
override this.Equals(obj) =
match obj with
| :? Dog as dog when dog.Breed = this.Breed -> true
| _ -> false
override _.GetHashCode() =
dogBreed.GetHashCode()
override _.ToString() =
dogBreed
let m1 = Dog "Alaskan Malamute"
let m2 = Dog "Alaskan Malamute"
let g1 = Dog "Great Pyrenees"
let g2 = g1
let d1 = Dog "Dalmation"
let n1 = Unchecked.defaultof<Dog>
let n2 = Unchecked.defaultof<Dog>
printfn $"null = null: {Object.Equals(n1, n2)}"
printfn $"null Reference Equals null: {Object.ReferenceEquals(n1, n2)}\n"
printfn $"{g1} = {g2}: {Object.Equals(g1, g2)}"
printfn $"{g1} Reference Equals {g2}: {Object.ReferenceEquals(g1, g2)}\n"
printfn $"{m1} = {m2}: {Object.Equals(m1, m2)}"
printfn $"{m1} Reference Equals {m2}: {Object.ReferenceEquals(m1, m2)}\n"
printfn $"{m1} = {d1}: {Object.Equals(m1, d1)}"
printfn $"{m1} Reference Equals {d1}: {Object.ReferenceEquals(m1, d1)}"
// The example displays the following output:
// null = null: True
// null Reference Equals null: True
//
// Great Pyrenees = Great Pyrenees: True
// Great Pyrenees Reference Equals Great Pyrenees: True
//
// Alaskan Malamute = Alaskan Malamute: True
// Alaskan Malamute Reference Equals Alaskan Malamute: False
//
// Alaskan Malamute = Dalmation: False
// Alaskan Malamute Reference Equals Dalmation: False
Module Example
Public Sub Main()
Dim m1 As New Dog("Alaskan Malamute")
Dim m2 As New Dog("Alaskan Malamute")
Dim g1 As New Dog("Great Pyrenees")
Dim g2 As Dog = g1
Dim d1 As New Dog("Dalmation")
Dim n1 As Dog = Nothing
Dim n2 As Dog = Nothing
Console.WriteLine("null = null: {0}", Object.Equals(n1, n2))
Console.WriteLine("null Reference Equals null: {0}", Object.ReferenceEquals(n1, n2))
Console.WriteLine()
Console.WriteLine("{0} = {1}: {2}", g1, g2, Object.Equals(g1, g2))
Console.WriteLine("{0} Reference Equals {1}: {2}", g1, g2, Object.ReferenceEquals(g1, g2))
Console.WriteLine()
Console.WriteLine("{0} = {1}: {2}", m1, m2, Object.Equals(m1, m2))
Console.WriteLine("{0} Reference Equals {1}: {2}", m1, m2, Object.ReferenceEquals(m1, m2))
Console.WriteLine()
Console.WriteLine("{0} = {1}: {2}", m1, d1, Object.Equals(m1, d1))
Console.WriteLine("{0} Reference Equals {1}: {2}", m1, d1, Object.ReferenceEquals(m1, d1))
End Sub
End Module
Public Class Dog
' Public field.
Public Breed As String
' Class constructor.
Public Sub New(dogBreed As String)
Me.Breed = dogBreed
End Sub
Public Overrides Function Equals(obj As Object) As Boolean
If obj Is Nothing OrElse Not typeof obj Is Dog Then
Return False
Else
Return Me.Breed = CType(obj, Dog).Breed
End If
End Function
Public Overrides Function GetHashCode() As Integer
Return Me.Breed.GetHashCode()
End Function
Public Overrides Function ToString() As String
Return Me.Breed
End Function
End Class
' The example displays the following output:
' null = null: True
' null Reference Equals null: True
'
' Great Pyrenees = Great Pyrenees: True
' Great Pyrenees Reference Equals Great Pyrenees: True
'
' Alaskan Malamute = Alaskan Malamute: True
' Alaskan Malamute Reference Equals Alaskan Malamute: False
'
' Alaskan Malamute = Dalmation: False
' Alaskan Malamute Reference Equals Dalmation: False
Observações
O método estático Equals(Object, Object) indica se dois objetos, objA e objB, são iguais. Também permite testar objetos cujo valor é nulo para igualdade. Compara objA e objB para igualdade da seguinte forma:
Determina se os dois objetos representam a mesma referência de objeto. Se o fizerem, o método devolve
true. Este teste é equivalente a chamar o ReferenceEquals método. Além disso, se tantoobjAcomoobjBforem nulos, o método devolvetrue.Determina se qualquer um
objAouobjBé nulo. Se sim, devolvefalse.Se os dois objetos não representarem a mesma referência de objeto e nenhum for nulo, chama
objA.Equals(objB) e devolve o resultado. Isto significa que, seobjAsobrescreve o Object.Equals(Object) método, este sobrescrito é chamado.