示例#1
0
        public static ulong Digits_To_Base10_Unsigned(ReadOnlySpan <char> digits)
        {
            if (digits == null || digits.IsEmpty)
            {
                return(0);
            }
            if (!StringCommon.ContainsOnly(digits, ASCII_DIGITS))
            {
                throw new ArgumentOutOfRangeException(ParserErrors.INVALID_CONTAINS_NON_DIGIT_CHARS);
            }
            Contract.EndContractBlock();

            ulong Integer = 0;
            var   span    = digits;
            ulong power   = 1;

            for (int i = digits.Length - 1; i >= 0; i--)
            {
                Integer += power * (ulong)Ascii_Digit_To_Value(span[i]);
                power   *= 10;
            }

            return(Integer);
        }
示例#2
0
 public void ContainsOnlyTest(string Input, string Match, bool Expected)
 {
     Assert.Equal(Expected, StringCommon.ContainsOnly(Input, Match));
 }