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

Erro no codigo da aula

Toda vez que tento copilar o codigo da uma exceção IndexOutOfRange. Já revisei o código e ainda não entendi o erro.

private ContaCorrente[] _itens;
private int _proximaPosicao;

public ListaContaCorrente(int capacidadeInicial = 5)
{
    _itens = new ContaCorrente[capacidadeInicial];
    _proximaPosicao = 0;
}

public void Adicionar(ContaCorrente item)
{
VerificarCapacidade(_proximaPosicao + 1);

Console.WriteLine($"Adicionar item na posição {_proximaPosicao}");

_itens[_proximaPosicao] = item;
_proximaPosicao++; <===== *Lugar que está lançando a exceção*
}

public void VerificarCapacidade(int tamanhoNecessario)
{
    if (_itens.Length >= tamanhoNecessario)
    {
        return;
    }

int novoTamanho = _itens.Length * 2;
if (novoTamanho < tamanhoNecessario)
    {
        novoTamanho = tamanhoNecessario;
    }

ContaCorrente[] novoArray = new ContaCorrente[novoTamanho];

Console.WriteLine("Aumentando capacidade da lista!");


for (int indice = 0; indice < _itens.Length; indice++)
{
    novoArray[indice] = _itens[indice];
    Console.WriteLine(".");
}
1 resposta
solução!

Encontrei o erro.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software