Code:
/ 4.0 / 4.0 / 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 NullableGetNextNonEmptyChar() { 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. //------------------------------------------------------------------------------ // // 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 NullableGetNextNonEmptyChar() { 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
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Behavior.cs
- BooleanToVisibilityConverter.cs
- CollaborationHelperFunctions.cs
- IProvider.cs
- RecognizeCompletedEventArgs.cs
- InfoCardUIAgent.cs
- ConfigDefinitionUpdates.cs
- _ConnectOverlappedAsyncResult.cs
- DataGridViewRowPrePaintEventArgs.cs
- FloaterParagraph.cs
- CompilerCollection.cs
- XamlSerializerUtil.cs
- AddInActivator.cs
- FormsAuthenticationCredentials.cs
- ContactManager.cs
- StrokeCollection2.cs
- Profiler.cs
- DbConnectionPoolCounters.cs
- DataGridRowEventArgs.cs
- ObjectDataSourceFilteringEventArgs.cs
- ServiceInfo.cs
- SiteMapNodeItemEventArgs.cs
- MaterialGroup.cs
- NativeMethodsOther.cs
- ClientSettingsProvider.cs
- GridViewColumnCollection.cs
- QilDataSource.cs
- TdsParserSafeHandles.cs
- HostedElements.cs
- IIS7WorkerRequest.cs
- FilterElement.cs
- PropertyStore.cs
- NodeInfo.cs
- RijndaelManaged.cs
- Light.cs
- BindingOperations.cs
- TextParentUndoUnit.cs
- PropertyTabChangedEvent.cs
- FixedStringLookup.cs
- ClientOperationFormatterProvider.cs
- GroupItem.cs
- Item.cs
- DisplayClaim.cs
- Debugger.cs
- Interlocked.cs
- AnnotationService.cs
- ConfigurationValue.cs
- XmlILStorageConverter.cs
- WebSysDisplayNameAttribute.cs
- ReadOnlyPermissionSet.cs
- UriTemplateCompoundPathSegment.cs
- GridErrorDlg.cs
- ServiceContractDetailViewControl.cs
- ScrollChangedEventArgs.cs
- EditorZoneAutoFormat.cs
- XamlValidatingReader.cs
- FixedDocument.cs
- TextAdaptor.cs
- TextElementCollectionHelper.cs
- DBCommandBuilder.cs
- MenuItemStyleCollection.cs
- TableLayoutPanelCellPosition.cs
- StackBuilderSink.cs
- ExpressionEditorAttribute.cs
- SqlDataSourceView.cs
- XmlNamedNodeMap.cs
- PluralizationService.cs
- DataGridViewCellConverter.cs
- SimpleApplicationHost.cs
- TTSEvent.cs
- WindowsListViewGroup.cs
- PeerTransportCredentialType.cs
- HtmlInputSubmit.cs
- Parser.cs
- KernelTypeValidation.cs
- FlowPosition.cs
- ExpressionBindingCollection.cs
- ContentControl.cs
- AspNetHostingPermission.cs
- XPathScanner.cs
- ObjectListGeneralPage.cs
- TextDecoration.cs
- XsdBuildProvider.cs
- SettingsPropertyWrongTypeException.cs
- HandlerMappingMemo.cs
- AdRotator.cs
- CodeMemberField.cs
- TransformedBitmap.cs
- DocumentXmlWriter.cs
- RedBlackList.cs
- DefaultAsyncDataDispatcher.cs
- SchemaManager.cs
- Timeline.cs
- SoapProtocolReflector.cs
- ZoneLinkButton.cs
- Converter.cs
- ExtendedPropertyCollection.cs
- IsolatedStorageFile.cs
- UIInitializationException.cs
- XmlBoundElement.cs