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