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
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
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!