ola, nao entendi muito bem a diferença das duas interfaces , quando devo usar uma ou outra , qual é a diferença entre elas?
ola, nao entendi muito bem a diferença das duas interfaces , quando devo usar uma ou outra , qual é a diferença entre elas?
Olá Luan, tudo certo?
Aparentemente é muito parecido, mas de modo simples, o objeto a ser classificado implementará IComparable, enquanto a classe que irá ordenar os objetos implementará o IComparer.
Na documentação, fica mais fácil de entender ao ver os métodos das interfaces:
IComparable.CompareTo(Object)
: Compara a instância atual com outro objeto do mesmo tipo e retorna um inteiro que indica se a instância atual precede, segue ou ocorre na mesma posição da ordem de classificação do outro objeto.
IComparer.Compare(Object, Object)
: Compara dois objetos e retorna um valor que indica se um é menor, igual ou maior do que o outro.
Espero ter ajudado! Bons estudos!