public bool TCKimlikNoMu(string mtn)
    {
        try
        {
            int index = 0;
            int toplam = 0;
            foreach (char n in mtn)
            {
                if (index < 10)
                {
                    toplam += Convert.ToInt32(char.ToString(n));
                }
                index++;
            }
            if (toplam % 10 == Convert.ToInt32(mtn[10].ToString()))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        catch
        {
            return false;
        }
    }
 
---------------------------------------------------------------------------
 
    public string TCKimlikNoBulMetninIcinde(string mtn)
    {
        string bl = "";
        if (mtn.Length > 12)
        {
            if (TCKimlikNoMu(mtn.Substring(0, 11)))
            {
                return mtn.Substring(0, 11);
            }
        }

        for (int i = 0; i < mtn.Length; i++)
        {
            if (char.IsDigit(mtn[i]))
            {
                bl += mtn[i];
            }
            else
                bl = "";

            if (bl.Length == 11 && !char.IsDigit((mtn.Length - 1 == i ? ' ' : mtn[i + 1])))
                if (TCKimlikNoMu(bl))
                {
                    return bl;
                }
        }
        return "";
    }