Algoritmo de Luhn em C# .NET
Valide números de cartão de crédito em C# com o algoritmo de Luhn (Módulo 10).
Introdução
Em aplicações .NET de e-commerce, validar cartões localmente economiza chamadas desnecessárias ao gateway de pagamento.
O Algoritmo
O algoritmo percorre os dígitos da direita para a esquerda, duplicando dígitos alternados e verificando se a soma é divisível por 10.
Implementação em Csharp
credit-card-generator.jscsharp
using System;
using System.Linq;
public class LuhnValidator
{
public static bool Validate(string number)
{
number = new string(number.Where(char.IsDigit).ToArray());
if (string.IsNullOrEmpty(number)) return false;
int sum = 0;
bool alternate = false;
for (int i = number.Length - 1; i >= 0; i--)
{
int n = number[i] - '0';
if (alternate)
{
n *= 2;
if (n > 9) n -= 9;
}
sum += n;
alternate = !alternate;
}
return sum % 10 == 0;
}
public static void Main()
{
Console.WriteLine(Validate("4539 5787 6362 1486")); // True
Console.WriteLine(Validate("1234567890123456")); // False
}
}Usa LINQ para limpar a string de entrada. O operador `- '0'` converte o char diretamente para inteiro sem precisar de métodos auxiliares.
Não quer escrever código?
Use nossa ferramenta online gratuita para processar CREDIT-CARD-GENERATOR instantaneamente. Perfeito para testes rápidos.
Usar Ferramenta de CREDIT-CARD-GENERATOR Online