He escrito un montón de objetos que forman parte de colecciones y en los que tendré que hacer muchos tipos de búsqueda y búsqueda. En la mayoría de estos objetos he implementado y anulado el método Equals
, IEquatable
y operator!
y operator==
.Lista <T> Ordenar utiliza Comparer <T> en lugar de IEquatable, ¿Por qué?
Ahora llego a querer usar List<T>.Sort
en un objeto que ha implementado todo lo anterior y resulta que necesito implementar IComparable
para hacer una clasificación personalizada.
¿Por qué Sort utiliza IComparable
y cuál es el punto de tener IEquatable
en todos mis objetos?
Además, ¿qué tiene que ver la excepción Object.Equal
con todo esto?
Experimento de pensamiento; tienes tres enteros, 'a',' b' y 'c'; usted sabe que 'a == b',' a! = c' y 'b! = c' (que son todas las combinaciones disponibles). Ahora: ponga 'a',' b' y 'c' en orden ascendente; p –