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
- BitmapEffectDrawingContextWalker.cs
- FormViewInsertedEventArgs.cs
- DocumentSchemaValidator.cs
- SBCSCodePageEncoding.cs
- ViewBase.cs
- HttpListener.cs
- OracleColumn.cs
- dataprotectionpermissionattribute.cs
- Parser.cs
- SqlClientPermission.cs
- RemotingServices.cs
- ColumnPropertiesGroup.cs
- SimpleMailWebEventProvider.cs
- SqlGatherProducedAliases.cs
- PersistenceException.cs
- DbConnectionStringCommon.cs
- ControlBindingsCollection.cs
- SafeNativeMethods.cs
- XamlSerializer.cs
- HttpContextServiceHost.cs
- SmtpClient.cs
- PeerPresenceInfo.cs
- ThreadStaticAttribute.cs
- XmlSerializerFormatAttribute.cs
- DataError.cs
- ValidationResults.cs
- RangeValidator.cs
- TrackingRecordPreFilter.cs
- DynamicActivityTypeDescriptor.cs
- _AutoWebProxyScriptEngine.cs
- Latin1Encoding.cs
- ConfigurationValue.cs
- localization.cs
- TimelineCollection.cs
- StubHelpers.cs
- PolicyManager.cs
- TextFormatterHost.cs
- ComponentRenameEvent.cs
- TableLayoutPanelCellPosition.cs
- RequestCacheManager.cs
- ResXFileRef.cs
- ViewPort3D.cs
- ClassValidator.cs
- MemoryStream.cs
- XmlSerializerNamespaces.cs
- CharEntityEncoderFallback.cs
- WindowsPen.cs
- BoundPropertyEntry.cs
- TrackingExtract.cs
- StoreConnection.cs
- WindowsContainer.cs
- SafeNativeMethodsMilCoreApi.cs
- GuidelineCollection.cs
- CompilerScopeManager.cs
- WindowsUpDown.cs
- UpdatePanelTriggerCollection.cs
- CatalogUtil.cs
- ProjectionPathSegment.cs
- SiteMapNodeCollection.cs
- ProviderCommandInfoUtils.cs
- Keyboard.cs
- WpfXamlLoader.cs
- BuildProvider.cs
- XamlVector3DCollectionSerializer.cs
- ActivityExecutionWorkItem.cs
- GuidTagList.cs
- RadioButtonPopupAdapter.cs
- WorkflowApplicationCompletedException.cs
- PersonalizationEntry.cs
- complextypematerializer.cs
- _CookieModule.cs
- SyntaxCheck.cs
- Mutex.cs
- BitmapEffect.cs
- SeparatorAutomationPeer.cs
- CompModHelpers.cs
- DirectionalLight.cs
- RefType.cs
- pingexception.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- RepeaterCommandEventArgs.cs
- CharacterMetrics.cs
- UserControl.cs
- Native.cs
- TreeNodeBindingDepthConverter.cs
- RectangleGeometry.cs
- FontWeights.cs
- SqlTypesSchemaImporter.cs
- MessageDecoder.cs
- DocumentReference.cs
- BamlLocalizableResource.cs
- UInt64Storage.cs
- TdsParserSafeHandles.cs
- NativeMethods.cs
- SmtpAuthenticationManager.cs
- DesignBindingEditor.cs
- GridViewPageEventArgs.cs
- GifBitmapEncoder.cs
- InlineUIContainer.cs
- CellRelation.cs