1
resposta

[Sugestão] Busca da correção

Quanto ao esquecimento do valor no campo Nome retificado pelo instrutor, desconfiei da sua falta e percorri os arquivos das classes cliente.cs e ContaCorrente.cs antes de assistir essa aula(Criando uma pesquisa), e tentei resolver, mas tudo em vão, pois não tinha nenhuma ideia, de como fazer e aonde fazer essa correção?

As validações básicas do código compreendi, mas ainda sinto falta de habilidade e desenvolvimento mais prático.

Nome tem que receber um "valor"

public string Nome
{
        get
        {
            return _nome;
        }
        set
        {
            if (value.Length < 3)
            {
                Console.WriteLine("Nome do titular precisa ter pelo menos 3 caracteres.");
            }
                _nome = value;
        }
}

Grato!

1 resposta

Oi, Rubens! Como vai?

No código, é implementado uma propriedade para o nome com validação mínima de 3 caracteres, o que é ótimo. Porém, o problema é que o código atual não impede que o valor seja atribuído mesmo quando a condição de validação não é atendida.

Para resolver isso, você pode fazer o seguinte ajuste na propriedade Nome para garantir que o campo receba um valor válido:

private string _nome;

public string Nome
{
    get
    {
        return _nome;
    }
    set
    {
        if (string.IsNullOrWhiteSpace(value) || value.Length < 3)
        {
            Console.WriteLine("Nome do titular precisa ter pelo menos 3 caracteres e não pode ser vazio.");
            return;
        }
        
        _nome = value;
    }
}

Explicação do código:

  • string.IsNullOrWhiteSpace(value): Verifica se o nome é nulo, vazio ou contém apenas espaços em branco.
  • value.Length < 3: Checa se o nome tem menos de 3 caracteres.
  • return: Sai da função sem atribuir o valor a _nome se as condições não forem atendidas.

Exemplo de uso:

ContaCorrente conta = new ContaCorrente();
conta.Nome = "Jo"; // Saída: Nome do titular precisa ter pelo menos 3 caracteres e não pode ser vazio.
conta.Nome = "Ana"; // Nome válido
Console.WriteLine(conta.Nome); // Saída: Ana

Assim, se o nome não for válido, ele não será atribuído, e você evita problemas de dados inconsistentes.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.