Validar um CPF (Cadastro de Pessoas Físicas) em uma aplicação console .NET Core pode parecer complexo à primeira vista, mas com o algoritmo correto e uma implementação simples, é possível garantir a integridade dos dados de forma rápida e confiável. 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.
O primeiro passo é criar um método estático que receba uma string contendo o CPF e retorne um booleano indicando se o CPF é válido ou não. O método deve remover caracteres não numéricos, verificar se o CPF tem 11 dígitos e aplicar o algoritmo de validação dos dígitos verificadores.
public static class CpfValidator
{
public static bool IsValid(string cpf)
{
// Remove caracteres não numéricos
cpf = new string(cpf.Where(char.IsDigit).ToArray());
// Verifica se o CPF tem 11 dígitos
if (cpf.Length != 11)
return false;
// Verifica se todos os dígitos são iguais
if (cpf.Distinct().Count() == 1)
return false;
// Calcula o primeiro dígito verificador
int sum = 0;
for (int i = 0; i < 9; i++)
sum += (10 - i) * int.Parse(cpf[i].ToString());
int rest = sum % 11;
int digit1 = rest < 2 ? 0 : 11 - rest;
// Calcula o segundo dígito verificador
sum = 0;
for (int i = 0; i < 10; i++)
sum += (11 - i) * int.Parse(cpf[i].ToString());
rest = sum % 11;
int digit2 = rest < 2 ? 0 : 11 - rest;
// Compara os dígitos calculados com os informados
return digit1 == int.Parse(cpf[9].ToString()) &&
digit2 == int.Parse(cpf[10].ToString());
}
}
Agora, integre o método de validação em sua aplicação console .NET Core. Crie um novo projeto console e adicione o método de validação à classe Program ou a uma classe separada. Em seguida, implemente a lógica para ler o CPF do usuário e exibir o resultado da validação.
class Program
{
static void Main(string[] args)
{
Console.Write("Digite o CPF: ");
string cpf = Console.ReadLine();
if (CpfValidator.IsValid(cpf))
Console.WriteLine("CPF válido!");
else
Console.WriteLine("CPF inválido!");
Console.ReadKey();
}
}
A tabela a seguir mostra exemplos de CPFs válidos e inválidos, demonstrando o funcionamento do método de validação.
| CPF de Entrada | Válido? | Motivo |
|---|---|---|
| 123.456.789-09 | Não | Dígitos verificadores incorretos |
| 529.982.247-25 | Sim | CPF válido conforme algoritmo |
| 111.111.111-11 | Não | Todos os dígitos iguais |
| 529.982.247-00 | Não | Dígitos verificadores incorretos |
Com este método de validação de CPF em aplicação console .NET Core, você garante a integridade dos dados de forma rápida e confiável, evitando erros manuais e automatizando o processo de verificação. A implementação é simples e pode ser facilmente integrada em qualquer projeto .NET Core, proporcionando uma solução robusta para validação de CPFs.