Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / CharEnumerator.cs / 1305376 / CharEnumerator.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: CharEnumerator ** ** ** Purpose: Enumerates the characters on a string. skips range ** checks. ** ** ============================================================*/ namespace System { using System.Collections; using System.Collections.Generic; using System.Diagnostics.Contracts; [System.Runtime.InteropServices.ComVisible(true)] [Serializable] public sealed class CharEnumerator : IEnumerator, ICloneable, IEnumerator, IDisposable { private String str; private int index; private char currentElement; internal CharEnumerator(String str) { Contract.Requires(str != null); this.str = str; this.index = -1; } [System.Security.SecuritySafeCritical] // auto-generated public Object Clone() { return MemberwiseClone(); } public bool MoveNext() { if (index < (str.Length-1)) { index++; currentElement = str[index]; return true; } else index = str.Length; return false; } public void Dispose() { if (str != null) index = str.Length; str = null; } /// Object IEnumerator.Current { get { if (index == -1) throw new InvalidOperationException(Environment.GetResourceString(ResId.InvalidOperation_EnumNotStarted)); if (index >= str.Length) throw new InvalidOperationException(Environment.GetResourceString(ResId.InvalidOperation_EnumEnded)); return currentElement; } } public char Current { get { if (index == -1) throw new InvalidOperationException(Environment.GetResourceString(ResId.InvalidOperation_EnumNotStarted)); if (index >= str.Length) throw new InvalidOperationException(Environment.GetResourceString(ResId.InvalidOperation_EnumEnded)); return currentElement; } } public void Reset() { currentElement = (char)0; index = -1; } } } // 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
- TemplateInstanceAttribute.cs
- BindingsCollection.cs
- SerialStream.cs
- xmlglyphRunInfo.cs
- MimeWriter.cs
- CompiledXpathExpr.cs
- TextElement.cs
- Privilege.cs
- SystemResourceHost.cs
- XPathNavigator.cs
- ValueTypeFixupInfo.cs
- PasswordTextContainer.cs
- ListenerChannelContext.cs
- CompleteWizardStep.cs
- OpenFileDialog.cs
- EnumerableCollectionView.cs
- DataRowComparer.cs
- HwndAppCommandInputProvider.cs
- Trace.cs
- Scene3D.cs
- Shape.cs
- SelectedGridItemChangedEvent.cs
- FolderBrowserDialogDesigner.cs
- ToolZone.cs
- SuppressMergeCheckAttribute.cs
- PropertyRecord.cs
- ReachVisualSerializer.cs
- ProfileParameter.cs
- GestureRecognitionResult.cs
- UserValidatedEventArgs.cs
- EventToken.cs
- TimeSpanConverter.cs
- DataGridTableCollection.cs
- ScrollViewer.cs
- Span.cs
- Rectangle.cs
- PropertyConverter.cs
- XmlSchemaSet.cs
- WebPartVerb.cs
- PixelShader.cs
- HandlerBase.cs
- AllMembershipCondition.cs
- LinqDataSourceDisposeEventArgs.cs
- SqlInternalConnectionSmi.cs
- StandardCommands.cs
- Decorator.cs
- StructuredProperty.cs
- Button.cs
- DirectoryInfo.cs
- PropertyDescriptorCollection.cs
- LayoutSettings.cs
- ResXFileRef.cs
- UnsafeNativeMethodsCLR.cs
- ConfigurationSettings.cs
- Reference.cs
- OlePropertyStructs.cs
- FastEncoder.cs
- DataSetMappper.cs
- XmlReaderDelegator.cs
- DeferredRunTextReference.cs
- ValueChangedEventManager.cs
- SamlAction.cs
- RuleInfoComparer.cs
- DrawingVisualDrawingContext.cs
- RightsManagementPermission.cs
- ParameterModifier.cs
- ObfuscateAssemblyAttribute.cs
- CryptoProvider.cs
- DuplicateDetector.cs
- Subordinate.cs
- PTProvider.cs
- DrawingContextWalker.cs
- HashHelper.cs
- CapabilitiesPattern.cs
- FormsAuthenticationTicket.cs
- PropertyPathConverter.cs
- odbcmetadatacolumnnames.cs
- CompoundFileStorageReference.cs
- OperationCanceledException.cs
- QueryableFilterRepeater.cs
- CustomCredentialPolicy.cs
- UITypeEditor.cs
- CustomPeerResolverService.cs
- WebAdminConfigurationHelper.cs
- DetailsViewAutoFormat.cs
- BindUriHelper.cs
- ClientScriptManagerWrapper.cs
- ExtendedTransformFactory.cs
- AlternateViewCollection.cs
- RefType.cs
- Context.cs
- SqlReferenceCollection.cs
- AudioFileOut.cs
- SqlDataSourceEnumerator.cs
- SevenBitStream.cs
- ListViewAutomationPeer.cs
- SmiConnection.cs
- DataGridViewCellStyleBuilderDialog.cs
- SqlProfileProvider.cs
- LinqDataSourceStatusEventArgs.cs