System.Xml.Schema.XsdDuration.TryParseDigits C# (CSharp) Méthode

TryParseDigits() private static méthode

private static TryParseDigits ( string s, int &offset, bool eatDigits, int &result, int &numDigits ) : string
s string
offset int
eatDigits bool
result int
numDigits int
Résultat string
        private static string TryParseDigits(string s, ref int offset, bool eatDigits, out int result, out int numDigits) {
            int offsetStart = offset;
            int offsetEnd = s.Length;
            int digit;

            result = 0;
            numDigits = 0;

            while (offset < offsetEnd && s[offset] >= '0' && s[offset] <= '9') {
                digit = s[offset] - '0';

                if (result > (Int32.MaxValue - digit) / 10) {
                    if (!eatDigits) {
                        return Res.XmlConvert_Overflow;
                    }

                    // Skip past any remaining digits
                    numDigits = offset - offsetStart;

                    while (offset < offsetEnd && s[offset] >= '0' && s[offset] <= '9') {
                        offset++;
                    }

                    return null;
                }

                result = result * 10 + digit;
                offset++;
            }

            numDigits = offset - offsetStart;
            return null;
        }
    }