Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

IEquatable<T> (Interfaz)

Define un método generalizado, que implementa una clase o tipo de valor con el fin de crear un método específico del tipo para determinar la igualdad de instancias.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public interface IEquatable<T>

Parámetros de tipo

T

Tipo de objetos que se van a comparar.

El tipo IEquatable<T> expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con XNA FrameworkCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEqualsIndica si el objeto actual es igual a otro objeto del mismo tipo.
Arriba

Esta interfaz la implementan tipos cuyos valores se pueden igualar (por ejemplo, las clases numéricas y de texto). Una clase o tipo de valor implementa el método Equals para crear un método específico del tipo que sea adecuado para determinar la igualdad de instancias.

NotaNota

La interfaz IComparable<T> define el método CompareTo, que determina el criterio de ordenación de instancias del tipo que se está implementando. La interfaz IEquatable<T> define el método Equals, que determina la igualdad de instancias del tipo que se está implementando.

Los objetos de colección genéricos como Dictionary<TKey, TValue>, List<T> y LinkedList<T> utilizan la interfaz IEquatable<T> al comprobar la igualdad en métodos como Contains, IndexOf, LastIndexOf y Remove. Debe implementarse para cualquier objeto que pudiera estar almacenado en una colección genérica.

Notas para los implementadores

Reemplace el parámetro de tipo de la interfaz IEquatable<T> con el tipo que esté implementando esta interfaz.

Si implementa IEquatable<T>, también debe invalidar las implementaciones de la clase base de Object.Equals(Object) y GetHashCode para que su comportamiento sea coherente con el del método IEquatable<T>.Equals. Si invalida el método Object.Equals(Object), se llama a su implementación invalidada también en las llamadas al método estático Equals(System.Object, System.Object) en la clase. Además, debe sobrecargar los operadores op_Equality y op_Inequality . Esto garantiza que todas las comprobaciones para los resultados coherentes de la igualdad.

NotaNota

Para obtener información sobre reemplazar Equals(Object), vea el artículo Object.Equals(Object) .

Para un tipo de valor, debe implementar IEquatable<T> y reemplazar siempre Object.Equals(Object) para mejorar el rendimiento. Object.Equals utilizan tipos de valor y depende de la reflexión para comparar dos valores son iguales. Su implementación de Equals y la invalidación Object.Equals deben devolver resultados coherentes.

Si implementa IEquatable<T>, también debe implementar IComparable<T> si las instancias del tipo pueden ordenar o ordenar. Si el tipo implementa IComparable<T>, también deberá implementar siempre IEquatable<T>.

Vea el ejemplo para el método IEquatable<T>.Equals.

.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft