Oi, Willian! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
O seu método tá bem implementado, e a lógica de ordenação por saldo tá correta.
Você pode resolver isso acessando diretamente os elementos do array _itens
e fazendo depósitos manuais, como neste exemplo:
_itens[0].Depositar(1000);
_itens[1].Depositar(2500);
_itens[2].Depositar(800);
Esse trecho assume que o array _itens
tem pelo menos 3 contas adicionadas. Assim, ao rodar o seu método VerificarMaiorSaldo()
, você verá qual das contas tem o maior saldo.
Código completo que usei para testes:
using System;
using System.Linq;
public class ContaCorrente
{
public string Conta { get; set; }
public double Saldo { get; private set; }
public ContaCorrente(string conta)
{
Conta = conta;
Saldo = 0;
}
public void Depositar(double valor)
{
Saldo += valor;
}
}
public class Banco
{
private ContaCorrente[] _itens;
public Banco()
{
_itens = new ContaCorrente[]
{
new ContaCorrente("001-X"),
new ContaCorrente("002-X"),
new ContaCorrente("003-X")
};
// Depósitos para teste
_itens[0].Depositar(1000);
_itens[1].Depositar(2500);
_itens[2].Depositar(800);
}
public void VerificarMaiorSaldo()
{
var rankDeSaldos = _itens.OrderByDescending(cc => cc.Saldo).ToArray();
var maiorSaldo = rankDeSaldos[0];
Console.WriteLine($"O maior saldo é {maiorSaldo.Saldo} da conta {maiorSaldo.Conta}");
}
}
class Program
{
static void Main()
{
Banco banco = new Banco();
banco.VerificarMaiorSaldo();
}
}
Esse código cria 3 contas, faz depósitos diferentes em cada uma, e o método VerificarMaiorSaldo() identifica e exibe aquela com maior valor.
Espero ter ajudado.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!