SkipWhiteSpacesAndNonLetter() static private method

static private SkipWhiteSpacesAndNonLetter ( String pattern, int currentIndex ) : int
pattern String
currentIndex int
return int
        internal int AddDateWords(string pattern, int index, string formatPostfix)
        {
            int num1 = DateTimeFormatInfoScanner.SkipWhiteSpacesAndNonLetter(pattern, index);
            int num2 = index;

            if (num1 != num2 && formatPostfix != null)
            {
                formatPostfix = (string)null;
            }
            index = num1;
            StringBuilder stringBuilder = new StringBuilder();

            while (index < pattern.Length)
            {
                char c = pattern[index];
                switch (c)
                {
                case '\'':
                    this.AddDateWordOrPostfix(formatPostfix, stringBuilder.ToString());
                    ++index;
                    goto label_13;

                case '\\':
                    ++index;
                    if (index < pattern.Length)
                    {
                        stringBuilder.Append(pattern[index]);
                        ++index;
                        continue;
                    }
                    continue;

                default:
                    if (char.IsWhiteSpace(c))
                    {
                        this.AddDateWordOrPostfix(formatPostfix, stringBuilder.ToString());
                        if (formatPostfix != null)
                        {
                            formatPostfix = (string)null;
                        }
                        stringBuilder.Length = 0;
                        ++index;
                        continue;
                    }
                    stringBuilder.Append(c);
                    ++index;
                    continue;
                }
            }
label_13:
            return(index);
        }
Example #2
0
        // Token: 0x06002E11 RID: 11793 RVA: 0x000B08EC File Offset: 0x000AEAEC
        internal int AddDateWords(string pattern, int index, string formatPostfix)
        {
            int num = DateTimeFormatInfoScanner.SkipWhiteSpacesAndNonLetter(pattern, index);

            if (num != index && formatPostfix != null)
            {
                formatPostfix = null;
            }
            index = num;
            StringBuilder stringBuilder = new StringBuilder();

            while (index < pattern.Length)
            {
                char c = pattern[index];
                if (c == '\'')
                {
                    this.AddDateWordOrPostfix(formatPostfix, stringBuilder.ToString());
                    index++;
                    break;
                }
                if (c == '\\')
                {
                    index++;
                    if (index < pattern.Length)
                    {
                        stringBuilder.Append(pattern[index]);
                        index++;
                    }
                }
                else if (char.IsWhiteSpace(c))
                {
                    this.AddDateWordOrPostfix(formatPostfix, stringBuilder.ToString());
                    if (formatPostfix != null)
                    {
                        formatPostfix = null;
                    }
                    stringBuilder.Length = 0;
                    index++;
                }
                else
                {
                    stringBuilder.Append(c);
                    index++;
                }
            }
            return(index);
        }