Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / ComponentModel / ArraySubsetEnumerator.cs / 1 / ArraySubsetEnumerator.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.ComponentModel {
using System;
using System.Collections;
using System.Diagnostics;
using System.Security.Permissions;
[HostProtection(SharedState = true)]
internal class ArraySubsetEnumerator : IEnumerator
{
private Array array;
private int total;
private int current;
public ArraySubsetEnumerator(Array array, int count) {
Debug.Assert(count == 0 || array != null, "if array is null, count should be 0");
Debug.Assert(array == null || count <= array.Length, "Trying to enumerate more than the array contains");
this.array = array;
this.total = count;
current = -1;
}
public bool MoveNext() {
if (current < total - 1) {
current++;
return true;
}
else {
return false;
}
}
public void Reset() {
current = -1;
}
public object Current {
get {
if (current == -1) {
throw new InvalidOperationException();
}
else {
return array.GetValue(current);
}
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InvalidDataException.cs
- SqlBulkCopyColumnMappingCollection.cs
- FileChangesMonitor.cs
- StringDictionary.cs
- HttpServerProtocol.cs
- BitVector32.cs
- FlatButtonAppearance.cs
- TextContainerChangeEventArgs.cs
- Sql8ExpressionRewriter.cs
- Lazy.cs
- AnonymousIdentificationModule.cs
- _HTTPDateParse.cs
- DbSourceCommand.cs
- ListQueryResults.cs
- ObjectTag.cs
- httpapplicationstate.cs
- SqlDataAdapter.cs
- SortableBindingList.cs
- ClientRoleProvider.cs
- SourceItem.cs
- ExpressionBuilder.cs
- SmiEventSink_Default.cs
- ModuleBuilder.cs
- ObjectConverter.cs
- WindowsSlider.cs
- CallbackValidatorAttribute.cs
- FormsAuthenticationEventArgs.cs
- FontUnitConverter.cs
- InvalidProgramException.cs
- HashAlgorithm.cs
- WebPartRestoreVerb.cs
- ErrorWebPart.cs
- TranslateTransform.cs
- BitStack.cs
- ProgressBarAutomationPeer.cs
- BinaryReader.cs
- PolicyManager.cs
- MetadataImporterQuotas.cs
- MethodExpr.cs
- RTLAwareMessageBox.cs
- HttpResponseHeader.cs
- ContextStaticAttribute.cs
- InstanceCreationEditor.cs
- CompareInfo.cs
- WebRequestModulesSection.cs
- Pair.cs
- UriSection.cs
- MSHTMLHost.cs
- SmtpMail.cs
- CellCreator.cs
- DataObjectFieldAttribute.cs
- securitycriticaldataformultiplegetandset.cs
- ServicesExceptionNotHandledEventArgs.cs
- MetabaseServerConfig.cs
- _SafeNetHandles.cs
- Rect.cs
- RemoteWebConfigurationHostStream.cs
- TextRangeSerialization.cs
- KeyedCollection.cs
- IgnoreDataMemberAttribute.cs
- ReferenceAssemblyAttribute.cs
- AccessViolationException.cs
- DelegateSerializationHolder.cs
- XmlDataImplementation.cs
- SiteMapSection.cs
- InheritablePropertyChangeInfo.cs
- DodSequenceMerge.cs
- LocalizedNameDescriptionPair.cs
- Int32RectValueSerializer.cs
- safex509handles.cs
- DataGridViewSortCompareEventArgs.cs
- FlagsAttribute.cs
- _NtlmClient.cs
- SchemaNames.cs
- TextTreeUndoUnit.cs
- ExcCanonicalXml.cs
- KnownTypeAttribute.cs
- UriTemplateVariableQueryValue.cs
- RectAnimationUsingKeyFrames.cs
- ObjectIDGenerator.cs
- BaseDataBoundControlDesigner.cs
- CompensatableTransactionScopeActivity.cs
- DBCommandBuilder.cs
- DataGridColumnCollection.cs
- FixedTextContainer.cs
- BufferedGraphics.cs
- ExpandableObjectConverter.cs
- RevocationPoint.cs
- ElapsedEventArgs.cs
- NativeMethods.cs
- SerializationEventsCache.cs
- SoapFormatter.cs
- TextHidden.cs
- DataSourceControl.cs
- HttpsHostedTransportConfiguration.cs
- BufferedStream.cs
- IntSecurity.cs
- ContextMenu.cs
- HexParser.cs
- URLBuilder.cs