Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como alguém explicaria essa lógica ...

public int CompareTo(object obj)
        {
            var outraConta = obj as ContaCorrente;

            if (outraConta == null)
            {
                return -1;
            }

            if (Numero < outraConta.Numero )
            {
                return -1;
            }

            if (Numero == outraConta.Numero)
            {
                return 0;
            }

            return 1;

Como funcionam o 1, -1 e 0 ?

E esse Numero referente ao 2º if, a quem ele se refere? O valor dele seria ?

1 resposta
solução!

Olá Davyd, tranquilo?

Daria para ler da seguinte forma:

if (outraConta == null)
            {
                return -1;
            }

A instância atual precede/acontece antes, do que o objeto especificado pelo método CompareTo na ordem de classificação. Nesse caso especificamente, a outra conta não existe. Mas como retornamos o -1, ele entende dessa forma.

if (Numero < outraConta.Numero )
            {
                return -1;
            }

Esse é um caso semelhante ao visto acima, só que realmente é algo que precede/acontece antes, do que o objeto especificado pelo método CompareTo na ordem de classificação.

if (Numero == outraConta.Numero)
            {
                return 0;
            }

Esta instância atual ocorre na mesma posição na ordem de classificação que o objeto especificado pelo método CompareTo .

return 1;

Esta instância atual segue acima o objeto especificado pelo método CompareTo na ordem de classificação.

Espero ter ajudado. Abraços!