Alô,
Este código do "Desafio: método que retorna a conta com maior saldo" aqui não está funcionando
public ContaCorrente MaiorSaldo()
{
ContaCorrente conta=null;
double maiorValor = 0;
for (int i = 0; i < _itens.Length; i++)
{
if (_itens[i] != null)
{
if (!(maiorValor > _itens[i].Saldo))
{
conta = _itens[i];
}
}
}
return conta;
}
Para funcionar é preciso declarar em algum ponto que o maior valor assuma o lugar do maior saldo, do contrário a função sempre vai retornar a última conta do vetor. Está faltando, portanto, inserir na 13ª linha:
maiorValor = _itens[i].Saldo;
A outra coisa, que inclusive gerou debate aqui no fórum, é esta expressão:
if (!(maiorValor > _itens[i].Saldo))
Convenhamos, if not é feio, né? É uma expressão ruim de se ler e de entender. É só trocar o operador que resolve:
if (maiorValor < _itens[i].Saldo)