Code:
/ FX-1434 / FX-1434 / 1.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
- DesignerSerializationOptionsAttribute.cs
- HtmlTableRowCollection.cs
- SkinIDTypeConverter.cs
- ExtenderControl.cs
- HotSpot.cs
- CacheAxisQuery.cs
- XsltSettings.cs
- Expression.DebuggerProxy.cs
- FamilyCollection.cs
- NegotiateStream.cs
- GlyphRun.cs
- entityreference_tresulttype.cs
- FormViewCommandEventArgs.cs
- TransactionManager.cs
- XMLSyntaxException.cs
- DynamicFilter.cs
- EFTableProvider.cs
- _NtlmClient.cs
- ErrorCodes.cs
- DataGridViewTextBoxColumn.cs
- RayMeshGeometry3DHitTestResult.cs
- SqlGenerator.cs
- DrawingContextWalker.cs
- RegexWriter.cs
- Container.cs
- TagPrefixAttribute.cs
- Parallel.cs
- ChangeConflicts.cs
- SiteMapHierarchicalDataSourceView.cs
- BinaryMethodMessage.cs
- XmlWriterTraceListener.cs
- RSAOAEPKeyExchangeDeformatter.cs
- BinaryObjectInfo.cs
- QueryCacheEntry.cs
- Point4D.cs
- DataGridViewLinkColumn.cs
- XslVisitor.cs
- ToolStripPanelSelectionBehavior.cs
- SmtpLoginAuthenticationModule.cs
- EventsTab.cs
- TemplatedAdorner.cs
- UserPreferenceChangedEventArgs.cs
- JulianCalendar.cs
- LambdaCompiler.cs
- AlternationConverter.cs
- SqlNotificationEventArgs.cs
- PeerPresenceInfo.cs
- ReturnValue.cs
- InternalCache.cs
- KerberosSecurityTokenProvider.cs
- ProxyGenerator.cs
- MSAAWinEventWrap.cs
- TextClipboardData.cs
- SqlRecordBuffer.cs
- ThumbAutomationPeer.cs
- LineServicesCallbacks.cs
- PageStatePersister.cs
- RepeaterItemEventArgs.cs
- Mappings.cs
- ConfigurationSection.cs
- Timer.cs
- MultiByteCodec.cs
- CollectionViewGroup.cs
- KeyboardEventArgs.cs
- DoubleLinkListEnumerator.cs
- SchemeSettingElementCollection.cs
- XmlDocumentType.cs
- StringDictionary.cs
- CodeGroup.cs
- ObjectContext.cs
- MenuEventArgs.cs
- Drawing.cs
- DockProviderWrapper.cs
- ScrollViewer.cs
- Journaling.cs
- ErrorEventArgs.cs
- WsdlParser.cs
- CatalogPartCollection.cs
- ScrollChangedEventArgs.cs
- InputLangChangeEvent.cs
- HttpRequest.cs
- FilterElement.cs
- FormattedTextSymbols.cs
- mda.cs
- Effect.cs
- OledbConnectionStringbuilder.cs
- PagesSection.cs
- HitTestWithGeometryDrawingContextWalker.cs
- ControlBuilder.cs
- PropertyEntry.cs
- HwndMouseInputProvider.cs
- InheritanceContextHelper.cs
- RectAnimationBase.cs
- QueryResponse.cs
- SystemIcons.cs
- TracingConnectionListener.cs
- TextProperties.cs
- QilLoop.cs
- DirectoryInfo.cs
- ISSmlParser.cs