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
- DependencyPropertyValueSerializer.cs
- AlignmentYValidation.cs
- TypeUtil.cs
- TableParaClient.cs
- LedgerEntryCollection.cs
- CoreSwitches.cs
- AssociationSet.cs
- SliderAutomationPeer.cs
- ProfilePropertySettingsCollection.cs
- DebugController.cs
- AuthorizationRule.cs
- BindingListCollectionView.cs
- DBAsyncResult.cs
- FileChangeNotifier.cs
- ResourceIDHelper.cs
- StaticTextPointer.cs
- EntityDescriptor.cs
- AspNetSynchronizationContext.cs
- ToolStripDropDownButton.cs
- TypeForwardedToAttribute.cs
- LinqDataView.cs
- NameValuePermission.cs
- ParserStreamGeometryContext.cs
- ComponentFactoryHelpers.cs
- SoapObjectWriter.cs
- ZipIOModeEnforcingStream.cs
- WindowsEditBoxRange.cs
- ContainerActivationHelper.cs
- Image.cs
- IpcChannelHelper.cs
- MetadataSource.cs
- ParentUndoUnit.cs
- ToolStripStatusLabel.cs
- DPTypeDescriptorContext.cs
- TdsParserHelperClasses.cs
- PersistChildrenAttribute.cs
- ConfigXmlText.cs
- AllMembershipCondition.cs
- SamlAssertion.cs
- BitmapEffectDrawingContextWalker.cs
- CatchBlock.cs
- ErasingStroke.cs
- Size.cs
- TextRunCacheImp.cs
- SmtpNtlmAuthenticationModule.cs
- Selection.cs
- DrawingImage.cs
- CatalogZoneBase.cs
- Rss20FeedFormatter.cs
- SqlHelper.cs
- UIElementAutomationPeer.cs
- TextInfo.cs
- Registry.cs
- DataTableClearEvent.cs
- COM2ExtendedTypeConverter.cs
- Win32.cs
- TabControl.cs
- SortAction.cs
- OSFeature.cs
- AnnotationAuthorChangedEventArgs.cs
- AnimationClockResource.cs
- DurableInstanceProvider.cs
- InvokeMethod.cs
- DecimalSumAggregationOperator.cs
- Parser.cs
- HorizontalAlignConverter.cs
- ConstructorBuilder.cs
- DesignerTransactionCloseEvent.cs
- SettingsPropertyCollection.cs
- Rfc2898DeriveBytes.cs
- ThreadPool.cs
- SignedInfo.cs
- EditorZoneAutoFormat.cs
- TextTreeExtractElementUndoUnit.cs
- XmlSchemaComplexType.cs
- ObjectListShowCommandsEventArgs.cs
- ToggleButtonAutomationPeer.cs
- XmlSchemaType.cs
- ContainsRowNumberChecker.cs
- SplitterPanel.cs
- SimpleWorkerRequest.cs
- PatternMatcher.cs
- CompositeCollectionView.cs
- PublisherIdentityPermission.cs
- CodeDomSerializerBase.cs
- ApplicationActivator.cs
- WmiEventSink.cs
- ProjectionCamera.cs
- SafeArchiveContext.cs
- ProgressChangedEventArgs.cs
- ZeroOpNode.cs
- UnknownWrapper.cs
- OrderToken.cs
- Trigger.cs
- RelationshipEnd.cs
- Statements.cs
- InputScope.cs
- Environment.cs
- ReadContentAsBinaryHelper.cs
- OleStrCAMarshaler.cs