For my current project we need to validate IBAN numbers. IBAN numbers are validated with an ISO 7064 mod-97-10 calculation where the remainder must equal 1

static public bool Validate(string iban)
        {
            // pre-conditions
            if ( string.IsNullOrEmpty( iban ) || (!Regex.IsMatch(iban, "^[A-Z0-9]") ) )
            {
                return false;
            }
            // clean-up IBAN
            iban = iban.Replace(" ", String.Empty);

            // 1.Move the four initial characters to the end of the string
            string iban2 = iban.Substring(4, iban.Length - 4) + iban.Substring(0, 4);

            // 2.Replace the letters in the string with digits, expanding the string as necessary, such that A=10, B=11 and Z=35.
            const int asciiShift = 55;
            var sb = new StringBuilder();
            foreach (char c in iban2)
            {
                int x;
                if (Char.IsLetter(c)) {
                    x = c - asciiShift;
                }
                else {
                    x = int.Parse(c.ToString(), CultureInfo.InvariantCulture);
                }
                sb.Append(x);
            }

            // 3.Convert the string to an integer and mod-97 the entire number
            string checkSumString = sb.ToString();
            int checksum = int.Parse( checkSumString.Substring(0, 1), CultureInfo.InvariantCulture );
            for (var i = 1; i < checkSumString.Length; i++)
            {
                int v = int.Parse(checkSumString.Substring(i, 1), CultureInfo.InvariantCulture);
                checksum *= 10;
                checksum += v;
                checksum %= 97;
            }
            return ( checksum == 1 );
        }

Since I didn’t expect we would be the first to want to implement this in C# we first did a quick search on the web for an existing implementation. The following resources have been used to come to the above implementation:

International Bank Account Number.
ISO/IEC 7064:2003.
IBAN validation, C# Implementation (this is the implementation we went for).