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); }
public void ContainsOnlyTest(string Input, string Match, bool Expected) { Assert.Equal(Expected, StringCommon.ContainsOnly(Input, Match)); }