1
resposta

Não entendi a implementação IComparable

Porque é necessário escrever aquele verificações no método CompareTo do IComparable? Não entendi o que o compilador faz exatamente por baixo dos panos o mesmo serve para IComparer

1 resposta

Olá Mateus, tudo certo?

Para aplicar o Sort() é necessário implementar a interface IComparable. Como é uma interface, não existe a implementação deste método, então foi necessário apontar qual critério seria comparado e como seria feita a comparação, respeitando os critérios da documentação do método Sort().

Então é comparado o valor de Numero entre os dois objetos, para verificar se é maior, igual ou menor. Com isso a ordenação é possível.

Quanto a interface IComparer, ela serve como argumento do Sort() onde é possível passar classes genéricas com métodos de comparação. E o funcionamento da implementação é o mesmo. Serve para retornar se o valor é menor, igual ou maior ao outro objeto.

Bons estudos!