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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SettingsAttributeDictionary.cs
- ConstraintManager.cs
- RootBrowserWindowProxy.cs
- QueueProcessor.cs
- ParserStack.cs
- MergeFailedEvent.cs
- webeventbuffer.cs
- EventDescriptorCollection.cs
- DictionaryContent.cs
- IsolatedStorageFile.cs
- BamlLocalizabilityResolver.cs
- GuidTagList.cs
- DefaultBinder.cs
- PathSegment.cs
- Bold.cs
- BoolExpression.cs
- MemberBinding.cs
- EUCJPEncoding.cs
- DecimalFormatter.cs
- TextRangeBase.cs
- ZipIOLocalFileBlock.cs
- ControlValuePropertyAttribute.cs
- XmlArrayItemAttributes.cs
- TrackingProfile.cs
- ShapingEngine.cs
- ButtonColumn.cs
- AuthenticationModuleElement.cs
- RankException.cs
- EasingKeyFrames.cs
- LayoutUtils.cs
- RequestCache.cs
- HitTestWithPointDrawingContextWalker.cs
- EnvelopedPkcs7.cs
- StreamReader.cs
- XpsFont.cs
- InputLanguageSource.cs
- WindowAutomationPeer.cs
- ExclusiveCanonicalizationTransform.cs
- PngBitmapDecoder.cs
- TypeExtensionSerializer.cs
- Compiler.cs
- DBConnection.cs
- PropertyToken.cs
- ResourcePermissionBase.cs
- ResourcePool.cs
- TrustLevelCollection.cs
- WebCategoryAttribute.cs
- MessageQueueConverter.cs
- AuthenticationService.cs
- UxThemeWrapper.cs
- TextTreeTextElementNode.cs
- XmlUtilWriter.cs
- CustomValidator.cs
- HWStack.cs
- _ProxyRegBlob.cs
- NamespaceImport.cs
- DecimalAnimationUsingKeyFrames.cs
- SystemDiagnosticsSection.cs
- PropertyPushdownHelper.cs
- WebHttpBindingElement.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- XmlArrayItemAttributes.cs
- ReflectionTypeLoadException.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- ConfigurationSchemaErrors.cs
- CertificateElement.cs
- RowBinding.cs
- GlyphRunDrawing.cs
- XMLDiffLoader.cs
- QueryableDataSourceView.cs
- ExpressionServices.cs
- Ticks.cs
- BitmapPalettes.cs
- TextPatternIdentifiers.cs
- PropertyItem.cs
- SizeConverter.cs
- InvalidFilterCriteriaException.cs
- SecurityVersion.cs
- ItemsControlAutomationPeer.cs
- SessionParameter.cs
- HtmlButton.cs
- XmlDesignerDataSourceView.cs
- TagNameToTypeMapper.cs
- SqlConnectionStringBuilder.cs
- ContentPosition.cs
- RelationshipEndMember.cs
- CompiledIdentityConstraint.cs
- Point.cs
- NamespaceDisplay.xaml.cs
- XmlDictionaryWriter.cs
- NativeMethods.cs
- ResXResourceSet.cs
- SuppressMergeCheckAttribute.cs
- InvokePatternIdentifiers.cs
- BitStream.cs
- ComponentManagerBroker.cs
- StrokeFIndices.cs
- Rule.cs
- PublisherMembershipCondition.cs
- PersonalizationState.cs