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

A minha versão esta correta ?

Gostaria de saber se a forma como eu resolvi estaria correta...

public void AdicionaConta(Conta conta)
        {
            this.contas = new Conta[this.aumentoContas];
            this.contas[this.quantidadeContas] = conta;

            this.quantidadeContas++;
            this.aumentoContas++;

            comboContas.Items.Add(conta);
        }

Tá funcionando kkkk...

4 respostas
solução!

Oi Matheus,

Eu não fiz o projeto/curso todo, mas, pelo que vi nesse exercício, a ideia era manter o array de contas this.contas com todas as contas criadas até o momento, então apenas adicionar ao array já existente a nova conta. Nesse seu código, você está sempre criando um novo array , guardando ele em this.contas e em seguida guardando a conta nele. Dessa forma, o array this.contas vai ter apenas uma conta guardada nele sempre.

Mateus é um bom sinal ela funcionar, bom vamos lá quando utilizamos uma lista não necessariamente precisamos gerenciar as iterações, por boa pratica quando chegar um objeto do tipo conta ele deveria já estar pronto, preenchido eu fiz aqui um exemplo direto nesta resposta não testei o código mas estou escrevendo algo como uma proposta para o seu código. Se tiver alguma dúvida pode interagir aqui.

public class Conta{

    public Conta(String nome, int numero){
        nome = nome;
        numero =numero;
    }

    public String nome {get; set; };
    public  int numero {get; set; };

}

public class Banco{

    public Banco(String nome){
        nome = nome;
        contas = new List<Conta>();
    }

    public String nome {get; set; };
    public  List<Conta> contas {get; set; };

    public void criar(Conta conta){
        contas.Add(conta);
    }

    public int contasCadastradas(){
        return contas.Count;
    }
}

public class TestConta{
    public static void Main(string[] args){
        Banco banco = new Banco("Itau");
        banco.criar(new Conta("Leandro", 10));
        banco.criar(new Conta("Leandro", 11));
        System.Console.WriteLine(banco.contasCadastradas());
    }
}

Opa pela resposta superior acho que me precipitei, o gerenciamento está sendo feito através de Array.

public class Banco {
    private int posicao = 0;
    private Conta[] contas;

    public Banco(int quantidade){
        contas = new Contas[quantidade];
    }    

    public void criar(Conta conta){
        contas[posicao] = conta;
        posicao++;
    }

}