Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Sugestão] Desafio Proposto - Mais uma possível solução

Com o objetivo de explorar os métodos dos arrays e uma pitadinha de POO, resolvi o desafio da seguinte forma:

Primeiro criei uma classe para comparação que implementa a interface IComparer:

public class MaiorSaldoComparer : IComparer<ContaCorrente>
{
    public int Compare(ContaCorrente? c1, ContaCorrente? c2)
    {
        if (c1?.Saldo < c2?.Saldo) return -1;
        else if (c1?.Saldo > c2?.Saldo) return 1;
        else return 0;
    }
}

Depois utilizei o método .Sort da collection Array passando como critério de comparação a classe acima:

    public void ImprimirContaComMaiorSaldo()
    {
        Array.Sort(_itens, new MaiorSaldoComparer());
        Console.WriteLine($"Conta com maior saldo: Agencia: {_itens.Last().Numero_agencia}, Saldo: {_itens.Last().Saldo}");
    }
1 resposta
solução!

Olá Diego, tudo bem?

Parabéns pela solução encontrada para o desafio proposto! Utilizar a interface IComparer e o método Sort da classe Array é uma ótima maneira de ordenar uma coleção de objetos de acordo com um critério específico.

Além disso, a utilização de POO na criação da classe MaiorSaldoComparer permite que você possa reutilizar essa classe em outras partes do seu código, caso seja necessário ordenar uma coleção de objetos pelo saldo.

Continue praticando e explorando as funcionalidades do C# e das coleções, assim você se tornará um programador cada vez mais habilidoso.

Bons estudos!