예제 #1
0
            private bool ParseZoneAndWhitespace(int start)
            {
                if (start < this.length)
                {
                    char ch = this.text[start];
                    switch (ch)
                    {
                    case 'Z':
                    case 'z':
                        this.kind = XsdDateTime.XsdDateTimeKind.Zulu;
                        start++;
                        goto Label_00C4;
                    }
                    if (((((start + 5) < this.length) && this.Parse2Dig(start + XsdDateTime.Lz_, ref this.zoneHour)) && ((this.zoneHour <= 0x63) && this.ParseChar(start + XsdDateTime.Lz_zz, ':'))) && (this.Parse2Dig(start + XsdDateTime.Lz_zz_, ref this.zoneMinute) && (this.zoneMinute <= 0x63)))
                    {
                        switch (ch)
                        {
                        case '-':
                            this.kind = XsdDateTime.XsdDateTimeKind.LocalWestOfZulu;
                            start    += XsdDateTime.Lz_zz_zz;
                            break;

                        case '+':
                            this.kind = XsdDateTime.XsdDateTimeKind.LocalEastOfZulu;
                            start    += XsdDateTime.Lz_zz_zz;
                            break;
                        }
                    }
                }
Label_00C4:
                while ((start < this.length) && char.IsWhiteSpace(this.text[start]))
                {
                    start++;
                }
                return(start == this.length);
            }
            private bool ParseZoneAndWhitespace(int start)
            {
                if (start < this.length)
                {
                    char ch = this.text[start];
                    switch (ch)
                    {
                        case 'Z':
                        case 'z':
                            this.kind = XsdDateTime.XsdDateTimeKind.Zulu;
                            start++;
                            goto Label_00C4;
                    }
                    if (((((start + 5) < this.length) && this.Parse2Dig(start + XsdDateTime.Lz_, ref this.zoneHour)) && ((this.zoneHour <= 0x63) && this.ParseChar(start + XsdDateTime.Lz_zz, ':'))) && (this.Parse2Dig(start + XsdDateTime.Lz_zz_, ref this.zoneMinute) && (this.zoneMinute <= 0x63)))
                    {
                        switch (ch)
                        {
                            case '-':
                                this.kind = XsdDateTime.XsdDateTimeKind.LocalWestOfZulu;
                                start += XsdDateTime.Lz_zz_zz;
                                break;

                            case '+':
                                this.kind = XsdDateTime.XsdDateTimeKind.LocalEastOfZulu;
                                start += XsdDateTime.Lz_zz_zz;
                                break;
                        }
                    }
                }
            Label_00C4:
                while ((start < this.length) && char.IsWhiteSpace(this.text[start]))
                {
                    start++;
                }
                return (start == this.length);
            }