Code:
/ 4.0 / 4.0 / 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. // ==++== // // 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
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- WindowsFormsHost.cs
- AutoResetEvent.cs
- QueryInterceptorAttribute.cs
- _SSPIWrapper.cs
- URLEditor.cs
- SizeAnimationClockResource.cs
- SafeHandles.cs
- SectionXmlInfo.cs
- ChannelSettingsElement.cs
- TemplateBindingExpressionConverter.cs
- XmlnsDictionary.cs
- UriWriter.cs
- DateTimeFormat.cs
- IndexedString.cs
- TransactionManagerProxy.cs
- AsyncInvokeContext.cs
- ColumnResizeAdorner.cs
- SynchronizedInputHelper.cs
- ObjectParameterCollection.cs
- SafeCryptoHandles.cs
- FrameworkReadOnlyPropertyMetadata.cs
- DupHandleConnectionReader.cs
- BackEase.cs
- WebControl.cs
- ResourceIDHelper.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- EditingCoordinator.cs
- HeaderUtility.cs
- ButtonBase.cs
- Pointer.cs
- XmlBaseWriter.cs
- CurrentTimeZone.cs
- GenericEnumConverter.cs
- VectorValueSerializer.cs
- Utility.cs
- ConfigXmlComment.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- XsltLibrary.cs
- DefaultAsyncDataDispatcher.cs
- CorruptingExceptionCommon.cs
- XslException.cs
- CodeExporter.cs
- XmlReader.cs
- JsonReaderDelegator.cs
- ActivityMarkupSerializer.cs
- EdmType.cs
- DropShadowBitmapEffect.cs
- TypeLibConverter.cs
- DbParameterCollection.cs
- SecurityUtils.cs
- RunWorkerCompletedEventArgs.cs
- XmlSchemaParticle.cs
- ClientSideProviderDescription.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- RuleRefElement.cs
- MouseBinding.cs
- CurrentChangedEventManager.cs
- WindowsGraphicsCacheManager.cs
- WasAdminWrapper.cs
- PropertyInformation.cs
- HttpPostedFile.cs
- ChildrenQuery.cs
- URLEditor.cs
- DocumentViewerHelper.cs
- PreProcessor.cs
- BaseParagraph.cs
- TreeViewEvent.cs
- BamlLocalizer.cs
- HeaderedContentControl.cs
- BindingCollection.cs
- ControlType.cs
- ColorAnimationUsingKeyFrames.cs
- SendKeys.cs
- SoapSchemaExporter.cs
- DbParameterCollectionHelper.cs
- ProtocolsConfigurationHandler.cs
- LineGeometry.cs
- HwndStylusInputProvider.cs
- ToolboxBitmapAttribute.cs
- EventProviderWriter.cs
- MouseDevice.cs
- SqlDataSourceCache.cs
- sitestring.cs
- DetailsViewUpdatedEventArgs.cs
- ListViewDeleteEventArgs.cs
- NameTable.cs
- RelationshipConstraintValidator.cs
- TableProviderWrapper.cs
- DbMetaDataColumnNames.cs
- ResourcePermissionBaseEntry.cs
- ConstNode.cs
- EditBehavior.cs
- Point3DValueSerializer.cs
- ChtmlSelectionListAdapter.cs
- UserPreferenceChangingEventArgs.cs
- DocumentGridContextMenu.cs
- XmlSerializationReader.cs
- MultiBinding.cs
- ValueConversionAttribute.cs