1
resposta

Faça como eu fiz: agenda com controle de contatos duplicados

internal class Contato
{
    public string Nome { get; set; }
    public string Telefone { get; set; }

    public Contato(string nome, string telefone)
    {
        Nome = nome;
        Telefone = telefone;
    }
}
internal class Agenda
{
    public string Proprietario { get; set; }

    private readonly List<Contato> contatos;

    public int QuantidadeContatos => contatos.Count;

    public Agenda(string proprietario)
    {
        Proprietario = proprietario;
        contatos = new List<Contato>();
    }

    public bool AdicionarContato(Contato contato)
    {
        if (contatos.Any(c => c.Nome == contato.Nome))
        {
            Console.WriteLine("Contato com esse nome já está na agenda.");
            return false;
        }
        else
        {
            contatos.Add(contato);
            return true;
        }

    }

    public void ListarContatos()
    {
        Console.WriteLine("Contatos:");
        foreach (Contato contato in contatos)
        {
            Console.WriteLine($"- {contato.Nome} | - {contato.Telefone}");
        }
        Console.WriteLine($"Total de contatos: {QuantidadeContatos}");
    }
}
1 resposta

Oi Pedro, tudo bem?

Parabéns por concluir essa atividade e por compartilhar a sua solução aqui no fórum! O seu código ficou certinho e demonstra um excelente domínio.

Bons estudos!

Sucesso

Imagem da comunidade