SortedSet<T>.Enumerator Struct-datatyp

Definition

Räknar upp elementen i ett SortedSet<T> objekt.

public: value class SortedSet<T>::Enumerator : System::Collections::Generic::IEnumerator<T>
public: value class SortedSet<T>::Enumerator : System::Collections::Generic::IEnumerator<T>, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>
[System.Serializable]
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type SortedSet<'T>.Enumerator = struct
    interface IEnumerator<'T>
    interface IEnumerator
    interface IDisposable
[<System.Serializable>]
type SortedSet<'T>.Enumerator = struct
    interface IEnumerator<'T>
    interface IDisposable
    interface IEnumerator
    interface ISerializable
    interface IDeserializationCallback
type SortedSet<'T>.Enumerator = struct
    interface IEnumerator<'T>
    interface IEnumerator
    interface IDisposable
    interface IDeserializationCallback
    interface ISerializable
Public Structure SortedSet(Of T).Enumerator
Implements IEnumerator(Of T)
Public Structure SortedSet(Of T).Enumerator
Implements IDeserializationCallback, IEnumerator(Of T), ISerializable

Typparametrar

T
Arv
SortedSet<T>.Enumerator
Attribut
Implementeringar

Kommentarer

foreach-instruktionen för C#-språket (For Each i Visual Basic) döljer komplexiteten hos uppräknare. Därför rekommenderas användning foreach i stället för att direkt manipulera uppräknaren.

Uppräknare kan användas för att läsa data i samlingen, men de kan inte användas för att ändra den underliggande samlingen.

Inledningsvis placeras uppräknaren före det första elementet i samlingen. I det här läget är egenskapen Current odefinierad. Därför måste du anropa MoveNext metoden för att flytta uppräknaren till det första elementet i samlingen innan du läser värdet Currentför .

Current returnerar samma objekt tills det anropas MoveNext . MoveNext anger Current till nästa element.

Om MoveNext skickar slutet av samlingen placeras uppräknaren efter det sista elementet i samlingen och MoveNext returnerar false. När uppräknaren befinner sig på den här positionen returnerar falseefterföljande anrop MoveNext även . Om det sista anropet som MoveNext returnerades Currentfalseär odefinierat. Du kan inte ange Current det första elementet i samlingen igen. Du måste skapa ett nytt uppräkningsobjekt i stället.

En uppräkning förblir giltig så länge samlingen förblir oförändrad. Om ändringar görs i samlingen, till exempel att lägga till, ändra eller ta bort element, ogiltigförklaras uppräknaren oåterkalleligen och nästa anrop till MoveNext eller IEnumerator.Reset genererar en InvalidOperationException.

Uppräknaren har inte exklusiv åtkomst till samlingen. Därför är uppräkning genom en samling i sig inte en trådsäker procedur. För att garantera trådsäkerheten under uppräkningen kan du låsa samlingen under hela uppräkningen. Om du vill att samlingen ska kunna nås av flera trådar för läsning och skrivning måste du implementera din egen synkronisering.

Standardimplementeringar av samlingar i System.Collections.Generic namnområdet synkroniseras inte.

Egenskaper

Name Description
Current

Hämtar elementet på den aktuella positionen för uppräknaren.

Metoder

Name Description
Dispose()

Släpper alla resurser som används av SortedSet<T>.Enumerator.

MoveNext()

Avancerar uppräknaren till nästa element i SortedSet<T> samlingen.

Explicita gränssnittsimplementeringar

Name Description
IDeserializationCallback.OnDeserialization(Object)

Implementerar ISerializable gränssnittet och höjer deserialiseringshändelsen när deserialiseringen är klar.

IEnumerator.Current

Hämtar elementet på den aktuella positionen för uppräknaren.

IEnumerator.Reset()

Anger uppräknaren till sin ursprungliga position, som är före det första elementet i samlingen.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Implementerar ISerializable gränssnittet och returnerar de data som behövs för att serialisera instansen SortedSet<T> .

Gäller för