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
- ObjectSpanRewriter.cs
- InstallerTypeAttribute.cs
- ADMembershipProvider.cs
- ConnectionModeReader.cs
- SizeAnimation.cs
- MSHTMLHost.cs
- ConstantSlot.cs
- wmiprovider.cs
- ExecutionEngineException.cs
- SendKeys.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- ResolveMatches11.cs
- Main.cs
- PriorityBinding.cs
- BinHexDecoder.cs
- _ContextAwareResult.cs
- Visual3DCollection.cs
- OdbcParameterCollection.cs
- FormParameter.cs
- SqlRowUpdatingEvent.cs
- _LoggingObject.cs
- ComNativeDescriptor.cs
- PermissionSetEnumerator.cs
- AutomationTextAttribute.cs
- TogglePattern.cs
- TextOutput.cs
- EntityKeyElement.cs
- PackWebRequestFactory.cs
- DiscoveryViaBehavior.cs
- HandleRef.cs
- CorrelationService.cs
- UriParserTemplates.cs
- ObjectListDesigner.cs
- DataGridColumnHeadersPresenter.cs
- Accessible.cs
- SQLInt64Storage.cs
- ExpressionBuilderCollection.cs
- CompositionAdorner.cs
- BamlMapTable.cs
- Table.cs
- XPathMessageFilter.cs
- ApplicationInfo.cs
- RecognizerBase.cs
- Latin1Encoding.cs
- TreeViewImageIndexConverter.cs
- processwaithandle.cs
- UnsafeCollabNativeMethods.cs
- WhiteSpaceTrimStringConverter.cs
- TreeNodeSelectionProcessor.cs
- BreakSafeBase.cs
- TemplateKey.cs
- MergablePropertyAttribute.cs
- MetadataHelper.cs
- Setter.cs
- TraceInternal.cs
- DetailsViewCommandEventArgs.cs
- TailPinnedEventArgs.cs
- TypeForwardedFromAttribute.cs
- TraceSection.cs
- HtmlAnchor.cs
- ColorInterpolationModeValidation.cs
- PersonalizablePropertyEntry.cs
- odbcmetadatacolumnnames.cs
- SoapParser.cs
- FloatAverageAggregationOperator.cs
- FastPropertyAccessor.cs
- EventTrigger.cs
- AccessText.cs
- StorageEndPropertyMapping.cs
- DataReaderContainer.cs
- OutputCacheProfileCollection.cs
- DynamicMetaObjectBinder.cs
- GAC.cs
- ConnectionProviderAttribute.cs
- Grammar.cs
- DependencyObjectPropertyDescriptor.cs
- ProfessionalColors.cs
- DataGridViewTopLeftHeaderCell.cs
- DetailsViewInsertEventArgs.cs
- FilterElement.cs
- TabControlEvent.cs
- RoleService.cs
- SrgsNameValueTag.cs
- baseaxisquery.cs
- BinHexDecoder.cs
- DependencyPropertyDescriptor.cs
- cookiecontainer.cs
- CompiledRegexRunner.cs
- ParameterCollectionEditor.cs
- HtmlLabelAdapter.cs
- SafeNativeMethods.cs
- Tag.cs
- SharedUtils.cs
- OSFeature.cs
- MDIControlStrip.cs
- WindowsUpDown.cs
- VirtualizingStackPanel.cs
- CacheRequest.cs
- CornerRadius.cs
- XmlBinaryReader.cs