JavaScriptString.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / Script / Serialization / JavaScriptString.cs / 1305376 / JavaScriptString.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Web.Script.Serialization { 
    using System; 
    using System.Diagnostics.CodeAnalysis;
    using System.Globalization; 
    using System.Text;

    internal class JavaScriptString {
        private string _s; 
        private int _index;
 
        internal JavaScriptString(string s) { 
            _s = s;
        } 

        internal Nullable GetNextNonEmptyChar() {
            while (_s.Length > _index) {
                char c = _s[_index++]; 
                if (!Char.IsWhiteSpace(c)) {
                    return c; 
                } 
            }
 
            return null;
        }

        internal Nullable MoveNext() { 
            if (_s.Length > _index) {
                return _s[_index++]; 
            } 

            return null; 
        }

        internal string MoveNext(int count) {
            if (_s.Length >= _index + count) { 
                string result = _s.Substring(_index, count);
                _index += count; 
 
                return result;
            } 

            return null;
        }
 
        internal void MovePrev() {
            if (_index > 0) { 
                _index--; 
            }
        } 

        internal void MovePrev(int count) {
            while (_index > 0 && count > 0) {
                _index--; 
                count--;
            } 
        } 

        public override string ToString() { 
            if (_s.Length > _index) {
                return _s.Substring(_index);
            }
 
            return String.Empty;
        } 
 
        internal string GetDebugString(string message) {
            return message + " (" + _index + "): " + _s; 
        }
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK