flysmog.pages.dev

Como validar CPF em tempo de execução em aplicação C# console?

Validar CPF em tempo de execução é essencial para garantir a integridade dos dados de usuários em aplicações C#. Este método utiliza o algoritmo padrão de validação de CPF, que verifica os dígitos verificadores, garantindo que o número seja matematicamente correto.

Pré-requisitos

Implementando a validação de CPF em C#

Para validar um CPF em tempo de execução, você pode criar um método estático que recebe a string do CPF e retorna um booleano indicando se é válido ou não. O algoritmo verifica se o CPF tem 11 dígitos, se não é uma sequência inválida (como "00000000000") e calcula os dígitos verificadores.

public static bool ValidarCPF(string cpf)
{
    // Remover caracteres não numéricos
    cpf = Regex.Replace(cpf, @"[^0-9]", "");

    // Verificar se o CPF tem 11 dígitos
    if (cpf.Length != 11)
        return false;

    // Verificar se todos os dígitos são iguais
    if (Regex.IsMatch(cpf, @"^(\d)\1+$"))
        return false;

    // Calcular o primeiro dígito verificador
    int soma = 0;
    for (int i = 0; i < 9; i++)
        soma += (cpf[i] - '0') * (10 - i);

    int resto = soma % 11;
    if (resto < 2)
        resto = 0;
    else
        resto = 11 - resto;

    if ((cpf[9] - '0') != resto)
        return false;

    // Calcular o segundo dígito verificador
    soma = 0;
    for (int i = 0; i < 10; i++)
        soma += (cpf[i] - '0') * (11 - i);

    resto = soma % 11;
    if (resto < 2)
        resto = 0;
    else
        resto = 11 - resto;

    return (cpf[10] - '0') == resto;
}

Exemplo Prático

Abaixo, uma tabela mostrando exemplos de CPFs válidos e inválidos, e o resultado esperado da validação:

CPF de Entrada Válido? Resultado Esperado
12345678909 Sim True
11111111111 Não False
123.456.789-09 Sim True
12345 Não False

Usando o método na aplicação

Para usar o método de validação em sua aplicação C# console, basta chamá-lo dentro do método Main ou em qualquer outra função, passando a string do CPF como parâmetro. O método retornará true se o CPF for válido e false caso contrário.

static void Main(string[] args)
{
    Console.Write("Digite o CPF: ");
    string cpf = Console.ReadLine();

    if (ValidarCPF(cpf))
        Console.WriteLine("CPF válido!");
    else
        Console.WriteLine("CPF inválido!");
}

Conclusão

Com este método de validação de CPF em C#, você garante que os dados de usuários sejam verificados em tempo de execução, evitando erros de digitação e garantindo a integridade das informações. A implementação é simples e eficiente, sendo ideal para aplicações que exigem validação de documentos brasileiros.