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
- SigningDialog.cs
- DateTimePicker.cs
- SettingsPropertyValue.cs
- AuthorizationContext.cs
- PageContentCollection.cs
- CharStorage.cs
- HuffModule.cs
- AudioFileOut.cs
- Solver.cs
- OutputCacheModule.cs
- ConditionCollection.cs
- SmiXetterAccessMap.cs
- ContextInformation.cs
- PropertyMetadata.cs
- DataGridViewCellPaintingEventArgs.cs
- DataViewSettingCollection.cs
- UInt32Storage.cs
- DataContractAttribute.cs
- shaperfactoryquerycachekey.cs
- FrameworkContextData.cs
- DBParameter.cs
- FileLogRecordStream.cs
- WebPartZoneBase.cs
- XDeferredAxisSource.cs
- UrlParameterWriter.cs
- Dynamic.cs
- Point3DCollectionValueSerializer.cs
- TargetParameterCountException.cs
- ObjectHandle.cs
- LoginViewDesigner.cs
- EntityKey.cs
- SQLBytesStorage.cs
- PropertySegmentSerializationProvider.cs
- ColumnWidthChangingEvent.cs
- AutomationElement.cs
- LayoutTable.cs
- X509ChainPolicy.cs
- MapPathBasedVirtualPathProvider.cs
- TabPanel.cs
- HitTestDrawingContextWalker.cs
- LabelAutomationPeer.cs
- Int32AnimationUsingKeyFrames.cs
- ResolveResponse.cs
- QilReference.cs
- CompoundFileIOPermission.cs
- ControlBuilderAttribute.cs
- COM2ICategorizePropertiesHandler.cs
- ImageCollectionCodeDomSerializer.cs
- ProcessHost.cs
- WebServiceHost.cs
- ProcessModule.cs
- SourceElementsCollection.cs
- WebCodeGenerator.cs
- ProviderMetadataCachedInformation.cs
- AlignmentYValidation.cs
- SqlSelectClauseBuilder.cs
- ToolStripDropDownButton.cs
- HighlightOverlayGlyph.cs
- StandardCommands.cs
- ObjectSet.cs
- HttpDebugHandler.cs
- NavigatorOutput.cs
- OAVariantLib.cs
- XmlSchemaException.cs
- ControlAdapter.cs
- ZipIOExtraFieldPaddingElement.cs
- ColorAnimationUsingKeyFrames.cs
- InvalidWMPVersionException.cs
- SHA1.cs
- ConfigXmlCDataSection.cs
- HttpListenerException.cs
- ParserStreamGeometryContext.cs
- ApplyTemplatesAction.cs
- EnumerableCollectionView.cs
- MetadataPropertyvalue.cs
- Parallel.cs
- xmlformatgeneratorstatics.cs
- MetaChildrenColumn.cs
- FilteredDataSetHelper.cs
- QueueProcessor.cs
- DependencyObject.cs
- COM2IProvidePropertyBuilderHandler.cs
- EmptyEnumerator.cs
- XXXOnTypeBuilderInstantiation.cs
- FormViewUpdateEventArgs.cs
- RtfToXamlReader.cs
- ConfigurationManagerHelper.cs
- HelpEvent.cs
- UserCancellationException.cs
- ViewPort3D.cs
- TraceHandler.cs
- EntityCommandExecutionException.cs
- ModelUIElement3D.cs
- ActivityBuilderXamlWriter.cs
- HostedBindingBehavior.cs
- ObjectSelectorEditor.cs
- UrlParameterReader.cs
- BmpBitmapDecoder.cs
- TTSVoice.cs
- JsonFormatWriterGenerator.cs