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

Dúvida no List contain

Estou refazendo o código na minha IDE, mas tive uma dúvida na parte do contains.

O programa era para retornar true na primeira (o que faz corretamente), porém no segundo ele está retornando true também. Já até percorri a lista chamando os nomes, pra conferir se os dados estavam corretos, e voltou corretamente só o primeiro cliente. Estou fazendo algo de errado?

private void button1_Click(object sender, EventArgs e)
        {
            var contas = new List<Conta>();

            var c1 = new ContaCorrente();
            var cliente1 = new Cliente("Maurício");
            c1.Titular = cliente1;
            contas.Add(c1);

            Conta copiaC1 = contas[0];

            var c2 = new ContaCorrente();
            var cliente2 = new Cliente("Victor");
            c2.Titular = cliente2;


            MessageBox.Show(c1.Titular.Nome + " está lá: " + contas.Contains(c1));
            MessageBox.Show(c2.Titular.Nome + " está lá: " + contas.Contains(c2));

        }
2 respostas
solução!

Olá Guilherme,

na sua classe Conta como foi implementado o método Equals? Para o Contains verificar se um elemento está dentro da lista, ele varre todos os elementos e compara um a um com a conta que você passa como parâmetro usando o Equals.

Era isso mesmo que estava faltando, Lucas. Obrigado!