private static bool ParseExactDigits(ref TimeSpanTokenizer tokenizer, int minDigitLength, int maxDigitLength, out int zeroes, out int result)
 {
     result = 0;
     zeroes = 0;
     int num = 0;
     while (num < maxDigitLength)
     {
         char nextChar = tokenizer.NextChar;
         if ((nextChar < '0') || (nextChar > '9'))
         {
             tokenizer.BackOne();
             break;
         }
         result = (result * 10) + (nextChar - '0');
         if (result == 0)
         {
             zeroes++;
         }
         num++;
     }
     return (num >= minDigitLength);
 }
Exemplo n.º 2
0
        private static Boolean ParseExactDigits(ref TimeSpanTokenizer tokenizer, int minDigitLength, int maxDigitLength, out int zeroes, out int result) {
            result = 0;
            zeroes = 0;

            int tokenLength = 0;
            while (tokenLength < maxDigitLength) {
                char ch = tokenizer.NextChar;
                if (ch < '0' || ch > '9') {
                    tokenizer.BackOne();   
                    break;
                }
                result = result * 10 + (ch - '0');
                if (result == 0) zeroes++;
                tokenLength++;
            }
            return (tokenLength >= minDigitLength);
        }