Olá, pessoal!
Esse tópico é antigo! Graziela, conseguiu solucionar seu problema? Se sim, escolha qual resposta que deu a solução, por favor :)
Fábio, sua solução apesar de funcionar, tem um problema.
Toda vez que você adicionar uma conta, seu vetor será zerado. Ou seja, todas as outras contas que você tiver cadastrada, irão sumir.
O erro System.IndexOutOfRangeException: 'O índice estava fora dos limites da matriz.' significa que você está tentando adicionar uma conta num índice inválido.
Em termos práticos, seu vetor está cheio!
O código do curso está certo e foi feito de propósito. Tanto que há o exercício 5 do curso chamado Cadastro de Muitas contas que pede para fazer com que possam ser cadastrados um número ilimitado de contas.
A solução correta é aumentar o seu vetor para ter novos espaços para adicionar novas contas. Exemplo:
public void AdicionaConta (Conta conta)
{
// Primeiro verifica se o vetor está cheio
if(this.quantidadeDeContas == this.contas.Length)
{
// Se estiver cheio, criar um novo com mais espaços
Conta[] novo = new Conta[this.contas.Length * 2];
// Copia tudo que tem no vetor atual para esse novo
for(int i = 0; i < this.quantidadeDeContas; i++)
{
novo[i] = this.contas[i];
}
// Substitui o vetor atual pelo novo
this.contas = novo;
}
// Independente de termos aumentado ou não o vetor
// Sempre haverá espaços disponíveis para novas contas
this.contas[this.quantidadeDeContas] = conta;
this.quantidadeDeContas++;
comboContas.Items.Add(conta);
}
Entendeu?