Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre array

Boa tarde pessoal,

estou com a seguinte dúvida, em um dos exercícios passados foi necessário modificar o método AdicionaConta(), pois quando o formulario carrega, adicionamos algumas contas como default.

O problema era que quando eu ia adicionar uma nova conta ele zerava os valores que eu tinha no array, pois eu estava instanciando o array dentro do método AdicionaConta().

Teria como deixar este valor da instancia do array de contas dinamico? Por exemplo:

//valor do array estático

Conta contas = new Conta[10];

//valor do array dinamico

Conta contas = new Conta[n];

Abaixo o código:


private int quantidadeContas;

int numeroListaContas;

private Conta[] contas;

private void Form1_Load(object sender, EventArgs e)

 {

            Conta contaVictor = new ContaCorrente();

            contaVictor.Titular = new Cliente("Victor");

            contaVictor.Numero = 1;

            contaVictor.Titular.idade = 20;

            AdicionaConta(contaVictor);



       Conta contaMario = new ContaCorrente();

            contaMario.Titular = new Cliente("Mario");

            contaMario.Numero = 2;

            contaMario.Titular.idade = 40;

            AdicionaConta(contaMario);


}


public void AdicionaConta(Conta novaConta)

{

        numeroListaContas++;

        this.contas = new Conta[numeroListaContas];

        contas[this.quantidadeContas] = novaConta;

        quantidadeContas++;

}

Obs: Como não estava conseguindo resolver o problema com array, fiz o exercicio usando List.

2 respostas
solução!

Encontrei a solução do problema mais pra frente, no tópico 4.6.

Se alguém estiver com a mesma dúvida...

ao invés de usar array, voce pode usar List

ex:

private List contas;

private void Form1_Load(object sender, EventArgs e)

{ contas = new List();

Conta contaVictor = new ContaCorrente();

contaVictor.Titular = new Cliente("Victor");

contaVictor.Numero = 1;

contaVictor.Titular.idade = 20;

AdicionaConta(contaVictor); }

public void AdicionaConta(Conta novaConta)

{ this.contas.Add(novaConta); }

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