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
- GridViewCommandEventArgs.cs
- ActivityWithResultConverter.cs
- ParameterBinding.cs
- documentation.cs
- DbConnectionStringCommon.cs
- CharEntityEncoderFallback.cs
- BrowserDefinition.cs
- Thread.cs
- CompiledELinqQueryState.cs
- TextMarkerSource.cs
- HitTestWithPointDrawingContextWalker.cs
- SignedXml.cs
- Typeface.cs
- AnimationClock.cs
- IteratorFilter.cs
- InternalResources.cs
- InheritanceContextChangedEventManager.cs
- WorkflowInstanceExtensionCollection.cs
- NativeStructs.cs
- GeometryHitTestParameters.cs
- EditorZoneAutoFormat.cs
- FilterException.cs
- WsdlWriter.cs
- PageWrapper.cs
- FileLogRecordEnumerator.cs
- UnknownWrapper.cs
- Table.cs
- ConfigPathUtility.cs
- AppSettingsSection.cs
- DoubleAverageAggregationOperator.cs
- DBSchemaTable.cs
- VariableDesigner.xaml.cs
- FormViewPageEventArgs.cs
- WebHttpElement.cs
- VariableQuery.cs
- SqlTriggerAttribute.cs
- EUCJPEncoding.cs
- httpstaticobjectscollection.cs
- DesignerVerb.cs
- TypedColumnHandler.cs
- TypeInfo.cs
- SaveFileDialog.cs
- InkCanvasSelection.cs
- TemplateControl.cs
- ConvertersCollection.cs
- RemoteWebConfigurationHostServer.cs
- PngBitmapEncoder.cs
- BrowsableAttribute.cs
- counter.cs
- validation.cs
- ObjectToIdCache.cs
- UnsafeNativeMethodsMilCoreApi.cs
- CodeVariableReferenceExpression.cs
- DSASignatureDeformatter.cs
- EdmMember.cs
- StateRuntime.cs
- IntranetCredentialPolicy.cs
- UnsafeNativeMethods.cs
- RepeatInfo.cs
- FullTextLine.cs
- DiscriminatorMap.cs
- GraphicsPathIterator.cs
- AsymmetricAlgorithm.cs
- PropertyMapper.cs
- SqlDependencyListener.cs
- ColorInterpolationModeValidation.cs
- ExpressionBuilder.cs
- RequestCachePolicyConverter.cs
- Graphics.cs
- CodeGotoStatement.cs
- ControlEvent.cs
- ToolStripItemCollection.cs
- PropertyInformationCollection.cs
- SizeLimitedCache.cs
- MouseCaptureWithinProperty.cs
- WebPartMinimizeVerb.cs
- ClientScriptItemCollection.cs
- SafeNativeMethodsOther.cs
- DelegateHelpers.Generated.cs
- OletxEnlistment.cs
- DefaultPropertyAttribute.cs
- SpeechEvent.cs
- DataGridItemEventArgs.cs
- PickDesigner.xaml.cs
- DesignTimeXamlWriter.cs
- XmlBinaryWriterSession.cs
- FormViewDesigner.cs
- SiteOfOriginContainer.cs
- FrameworkPropertyMetadata.cs
- ValueExpressions.cs
- SqlServices.cs
- CatalogPart.cs
- Int32AnimationBase.cs
- SnapLine.cs
- ColumnProvider.cs
- MulticastNotSupportedException.cs
- SafeEventLogWriteHandle.cs
- TimeSpanStorage.cs
- DataServiceQueryOfT.cs
- QueryInterceptorAttribute.cs