Vergi Kimlik Numarası Kontrolü

Aşağıdaki metot ile vergi kimlik numaralarını(VKN) kontrol edebiliriz.

bool IsVknValid(string vkn)
{
    try
    {
        if (vkn.Length == 10)
        {
            var x = new int[9];
            var y = new int[9];

            for (int i = 0; i < 9; i++)
            {
                x[i] = (int.Parse(vkn[i].ToString()) + 9 - i) % 10;

                y[i] = (x[i] * (int)Math.Pow(2, 9 - i)) % 9;

                if (x[i] != 0 && y[i] == 0)
                {
                    y[i] = 9;
                }
            }

            return ((10 - (y.Sum() % 10)) % 10) == int.Parse(vkn[9].ToString());
        }
        else
        {
            return false;
        }
    }
    catch (Exception)
    {
        return false;
    }
}