OpenTween.RadixConvert.ToUInt64 C# (CSharp) Method

ToUInt64() public static method

3~36進数の数値文字列をUInt64型の数値に変換します。
※2/8/10/16進数は、Convert.ToUInt64メソッドを使ってください。 ※+や-の符号や0xなどのプレフィックスには対応していません。 ※引数となる数値文字列に、スペースなどの文字を含めないでください。
public static ToUInt64 ( string s, int radix ) : ulong
s string 数値文字列
radix int 基数
return ulong
        public static ulong ToUInt64(string s, int radix)
        {
            // 引数をチェックをする
            CheckNumberArgument(s);
            CheckRadixArgument(radix);

            var curValue = 0uL;                                       // 変換中の数値
            var maxValue = UInt64.MaxValue / (ulong)radix;            // 最大値の1けた前の数値

            // 数値文字列を解析して数値に変換する
            char num;         // 処理中の1けたの数値文字列
            int digit;    // 処理中の1けたの数値
            int length = s.Length;
            for (int i = 0; i < length; i++)
            {
                num = s[i];
                digit = GetDigitFromNumber(num);
                CheckDigitOutOfRange(digit, radix);

                // 次にradixを掛けるときに数値がオーバーフローしないかを事前にチェックする
                CheckDigitOverflow(curValue, maxValue);
                curValue = curValue * (ulong)radix + (ulong)digit;
            }
            return curValue;
        }