Sayfalar

1 Mart 2012 Perşembe

C#'da Luhn Algoritması ile Kredi Kartı Numarası Doğrulama

using System;
using System.Linq;

//Credit Card Check Digit - Luhn Algorithm
namespace LuhnAlgorithm
{
    class Program
    {
        static void Main(string[] args)
        {
           string ccNo = "4022999999994026";
           bool sonuc = IsLuhnValid(ccNo);//Parametre olarak k.k numarası geçilir.
        }

        public static bool IsLuhnValid(string value)
        {
            return value.Where(c => Char.IsDigit(c)).Reverse()
              .SelectMany((c, i) => ((c - '0') << (i & 1)).ToString())
              .Sum(c => c - '0') % 10 == 0;
        }
    }
}

2 yorum:

  1. Abla ne iş anlamadım ki return ile değer dönderiyorsun fakat mesaj verdirmemişsin biraz daha açsaydın konuyu.

    YanıtlaSil
    Yanıtlar
    1. static void Main(string[] args)
      {
      string ccNo = "4022999999994026";
      bool sonuc = IsLuhnValid(ccNo);//Parametre olarak k.k numarası geçilir.
      if(!sonuc)
      Console.WriteLine("Kart numarası hatalı!");
      else
      Console.WriteLine("Kart numarası doğru.");
      Console.Read();
      }

      Sil

Yorumunuzu bırakın.