Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / CharEnumerator.cs / 1 / 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; [System.Runtime.InteropServices.ComVisible(true)] [Serializable] public sealed class CharEnumerator : IEnumerator, ICloneable, IEnumerator{ private String str; private int index; private char currentElement; internal CharEnumerator(String str) { this.str = str; this.index = -1; } 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; } void IDisposable.Dispose() { } /// 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HandlerBase.cs
- Int32AnimationBase.cs
- QuaternionValueSerializer.cs
- BitmapEffectCollection.cs
- SelectorItemAutomationPeer.cs
- PresentationSource.cs
- FilterException.cs
- SqlDataSourceCache.cs
- XmlSchemaCollection.cs
- Models.cs
- DataRelationPropertyDescriptor.cs
- ApplicationServiceManager.cs
- CompositeFontFamily.cs
- XmlReader.cs
- CapabilitiesRule.cs
- LocalizedNameDescriptionPair.cs
- MenuItemCollection.cs
- CatalogPartCollection.cs
- ActivityExecutionWorkItem.cs
- SecurityDescriptor.cs
- OleDbParameter.cs
- MaskedTextProvider.cs
- SapiInterop.cs
- MediaContext.cs
- AssemblyInfo.cs
- EventToken.cs
- DrawListViewSubItemEventArgs.cs
- SettingsBase.cs
- VarInfo.cs
- CodePageEncoding.cs
- AnimationClockResource.cs
- PerformanceCounterPermissionEntry.cs
- EndpointAddressElementBase.cs
- Dispatcher.cs
- WorkItem.cs
- AuthenticatedStream.cs
- DrawToolTipEventArgs.cs
- NetTcpSecurityElement.cs
- BamlCollectionHolder.cs
- ValidationErrorEventArgs.cs
- StringFunctions.cs
- TabControlCancelEvent.cs
- ObjectDataSourceEventArgs.cs
- CharUnicodeInfo.cs
- ArgumentException.cs
- WrapperEqualityComparer.cs
- DateTimeUtil.cs
- List.cs
- CustomErrorCollection.cs
- XamlReader.cs
- Point3DCollection.cs
- Partitioner.cs
- InkCanvasSelectionAdorner.cs
- DrawingGroup.cs
- OrderByQueryOptionExpression.cs
- ThreadBehavior.cs
- TableLayoutPanelCellPosition.cs
- Workspace.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- CodeArgumentReferenceExpression.cs
- SqlTrackingQuery.cs
- ProcessModelInfo.cs
- RSAPKCS1KeyExchangeFormatter.cs
- BindingWorker.cs
- DataControlFieldTypeEditor.cs
- PerfCounters.cs
- WorkerRequest.cs
- ComponentResourceKeyConverter.cs
- DictionaryEntry.cs
- CrossSiteScriptingValidation.cs
- TextRangeBase.cs
- SearchForVirtualItemEventArgs.cs
- TypeBinaryExpression.cs
- DataControlPagerLinkButton.cs
- OracleBinary.cs
- QueryableFilterUserControl.cs
- TextServicesContext.cs
- DeferrableContentConverter.cs
- PolicyLevel.cs
- AssemblyEvidenceFactory.cs
- EntityContainer.cs
- RequestNavigateEventArgs.cs
- XmlIlTypeHelper.cs
- AssemblyHash.cs
- LazyTextWriterCreator.cs
- StringCollectionEditor.cs
- IConvertible.cs
- JpegBitmapEncoder.cs
- RegexStringValidatorAttribute.cs
- QilFactory.cs
- PassportIdentity.cs
- DataGridToolTip.cs
- CookielessHelper.cs
- Window.cs
- NamespaceDecl.cs
- HtmlInputCheckBox.cs
- DebugView.cs
- Pair.cs
- RowsCopiedEventArgs.cs
- WaitHandle.cs