ArrayList ArrayList ArrayList ArrayList Class

Definition

Implementiert die IList-Schnittstelle. Dabei wird ein Array verwendet, dessen Größe je nach Bedarf dynamisch erhöht wird.Implements the IList interface using an array whose size is dynamically increased as required.

public ref class ArrayList : ICloneable, System::Collections::IList
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ArrayList : ICloneable, System.Collections.IList
type ArrayList = class
    interface IList
    interface ICloneable
    interface ICollection
    interface IEnumerable
Public Class ArrayList
Implements ICloneable, IList
Vererbung
ArrayListArrayListArrayListArrayList
Abgeleitet
Attribute
Implementiert

Beispiele

Das folgende Beispiel zeigt das Erstellen und initialisieren Sie ein ArrayList und wie die Werte angezeigt.The following example shows how to create and initialize an ArrayList and how to display its values.

using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myList );
int main()
{
   
   // Creates and initializes a new ArrayList.
   ArrayList^ myAL = gcnew ArrayList;
   myAL->Add( "Hello" );
   myAL->Add( "World" );
   myAL->Add( "!" );
   
   // Displays the properties and values of the ArrayList.
   Console::WriteLine( "myAL" );
   Console::WriteLine( "    Count:    {0}", myAL->Count );
   Console::WriteLine( "    Capacity: {0}", myAL->Capacity );
   Console::Write( "    Values:" );
   PrintValues( myAL );
}

void PrintValues( IEnumerable^ myList )
{
   IEnumerator^ myEnum = myList->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Object^ obj = safe_cast<Object^>(myEnum->Current);
      Console::Write( "   {0}", obj );
   }

   Console::WriteLine();
}

/* 
This code produces output similar to the following:

myAL
    Count:    3
    Capacity: 4
    Values:   Hello   World   !

*/
using System;
using System.Collections;
public class SamplesArrayList  {

   public static void Main()  {

      // Creates and initializes a new ArrayList.
      ArrayList myAL = new ArrayList();
      myAL.Add("Hello");
      myAL.Add("World");
      myAL.Add("!");

      // Displays the properties and values of the ArrayList.
      Console.WriteLine( "myAL" );
      Console.WriteLine( "    Count:    {0}", myAL.Count );
      Console.WriteLine( "    Capacity: {0}", myAL.Capacity );
      Console.Write( "    Values:" );
      PrintValues( myAL );
   }

   public static void PrintValues( IEnumerable myList )  {
      foreach ( Object obj in myList )
         Console.Write( "   {0}", obj );
      Console.WriteLine();
   }

}


/* 
This code produces output similar to the following:

myAL
    Count:    3
    Capacity: 4
    Values:   Hello   World   !

*/
Imports System
Imports System.Collections
Imports Microsoft.VisualBasic

Public Class SamplesArrayList    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new ArrayList.
        Dim myAL As New ArrayList()
        myAL.Add("Hello")
        myAL.Add("World")
        myAL.Add("!")
        
        ' Displays the properties and values of the ArrayList.
        Console.WriteLine("myAL")
        Console.WriteLine("    Count:    {0}", myAL.Count)
        Console.WriteLine("    Capacity: {0}", myAL.Capacity)
        Console.Write("    Values:")
        PrintValues(myAL)
    End Sub

    Public Shared Sub PrintValues(myList As IEnumerable)
        Dim obj As [Object]
        For Each obj In  myList
            Console.Write("   {0}", obj)
        Next obj
        Console.WriteLine()
    End Sub 'PrintValues

End Class


' This code produces output similar to the following:
' 
' myAL
'     Count:    3
'     Capacity: 4
'     Values:   Hello   World   !

Hinweise

Wichtig

Es wird nicht empfohlen, dass Sie verwenden die ArrayList Klasse für die neue Entwicklung.We don't recommend that you use the ArrayList class for new development. Stattdessen empfehlen wir die Verwendung von generischen List<T> Klasse.Instead, we recommend that you use the generic List<T> class. Die ArrayList Klasse heterogenen Sammlungen von Objekten enthalten soll.The ArrayList class is designed to hold heterogeneous collections of objects. Allerdings bietet es nicht immer die beste Leistung.However, it does not always offer the best performance. Stattdessen empfehlen wir Folgendes:Instead, we recommend the following:

  • Verwenden Sie für eine heterogene Auflistung von Objekten, die List<Object> (in c#) oder List(Of Object) Geben Sie (in Visual Basic).For a heterogeneous collection of objects, use the List<Object> (in C#) or List(Of Object) (in Visual Basic) type.
  • Verwenden Sie für eine homogene Auflistung von Objekten, die List<T> Klasse.For a homogeneous collection of objects, use the List<T> class.
    Finden Sie unter Überlegungen zur Leistung in die List<T> Referenzthema für eine Beschreibung der relativen Leistung dieser Klassen.See Performance Considerations in the List<T> reference topic for a discussion of the relative performance of these classes. Finden Sie unter nicht generische Auflistungen nicht verwendet werden sollten auf GitHub für allgemeine Informationen zur Verwendung von generischen anstelle von nicht generischen Auflistungstypen.See Non-generic collections shouldn't be used on GitHub for general information on the use of generic instead of non-generic collection types.

Die ArrayList ist nicht unbedingt sortiert werden.The ArrayList is not guaranteed to be sorted. Sie sortieren, müssen die ArrayList durch Aufrufen der Sort Methode vor dem Ausführen von Vorgängen (z. B. BinarySearch), erfordern die ArrayList sortiert werden soll.You must sort the ArrayList by calling its Sort method prior to performing operations (such as BinarySearch) that require the ArrayList to be sorted. Um eine Auflistung zu gewährleisten, die automatisch sortiert wird, wenn neue Elemente hinzugefügt werden, können Sie die SortedSet<T> Klasse.To maintain a collection that is automatically sorted as new elements are added, you can use the SortedSet<T> class.

Die Kapazität einer ArrayList ist die Anzahl der Elemente der ArrayList enthalten kann.The capacity of an ArrayList is the number of elements the ArrayList can hold. Elemente hinzugefügt werden ein ArrayList, die Kapazität wird automatisch erhöht, über die neuzuordnung erforderlich.As elements are added to an ArrayList, the capacity is automatically increased as required through reallocation. Die Kapazität kann verringert werden, durch den Aufruf TrimToSize oder durch Festlegen der Capacity Eigenschaft explizit.The capacity can be decreased by calling TrimToSize or by setting the Capacity property explicitly.

Nur .NET Framework: Für sehr große ArrayList Objekte aufweist, können Sie die maximale Kapazität 2 Milliarden von Elementen auf einem 64-Bit-System erhöhen, durch Festlegen der enabled Attribut der <gcAllowVeryLargeObjects> Konfigurationselement, true in der Runtime-Umgebung..NET Framework only: For very large ArrayList objects, you can increase the maximum capacity to 2 billion elements on a 64-bit system by setting the enabled attribute of the <gcAllowVeryLargeObjects> configuration element to true in the run-time environment.

Elemente in dieser Auflistung können über einen Ganzzahlenindex zugegriffen werden.Elements in this collection can be accessed using an integer index. Indizes in dieser Auflistung sind nullbasiert.Indexes in this collection are zero-based.

Die ArrayList Sammlung akzeptiert null als gültiger Wert.The ArrayList collection accepts null as a valid value. Darüber hinaus können doppelte Elemente.It also allows duplicate elements.

Verwendung von mehrdimensionalen Arrays als Elemente in einem ArrayList Collection wird nicht unterstützt.Using multidimensional arrays as elements in an ArrayList collection is not supported.

Konstruktoren

ArrayList() ArrayList() ArrayList() ArrayList()

Initialisiert eine neue, leere Instanz der ArrayList-Klasse, die die Standardanfangskapazität aufweist.Initializes a new instance of the ArrayList class that is empty and has the default initial capacity.

ArrayList(ICollection) ArrayList(ICollection) ArrayList(ICollection) ArrayList(ICollection)

Initialisiert eine neue Instanz der ArrayList-Klasse, die aus der angegebenen Auflistung kopierte Elemente enthält und deren anfängliche Kapazität der Anzahl der kopierten Elemente entspricht.Initializes a new instance of the ArrayList class that contains elements copied from the specified collection and that has the same initial capacity as the number of elements copied.

ArrayList(Int32) ArrayList(Int32) ArrayList(Int32) ArrayList(Int32)

Initialisiert eine neue, leere Instanz der ArrayList-Klasse, die die angegebene Anfangskapazität aufweist.Initializes a new instance of the ArrayList class that is empty and has the specified initial capacity.

Eigenschaften

Capacity Capacity Capacity Capacity

Ruft die Anzahl der Elemente ab, die die ArrayList enthalten kann, oder legt diese fest.Gets or sets the number of elements that the ArrayList can contain.

Count Count Count Count

Ruft die Anzahl der Elemente ab, die tatsächlich in ArrayList enthalten sind.Gets the number of elements actually contained in the ArrayList.

IsFixedSize IsFixedSize IsFixedSize IsFixedSize

Ruft einen Wert ab, der angibt, ob das ArrayList eine feste Größe aufweist.Gets a value indicating whether the ArrayList has a fixed size.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Ruft einen Wert ab, der angibt, ob das ArrayList schreibgeschützt ist.Gets a value indicating whether the ArrayList is read-only.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die ArrayList synchronisiert (threadsicher) ist.Gets a value indicating whether access to the ArrayList is synchronized (thread safe).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Ruft das Element am angegebenen Index ab oder legt dieses fest.Gets or sets the element at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf ArrayList synchronisiert werden kann.Gets an object that can be used to synchronize access to the ArrayList.

Methoden

Adapter(IList) Adapter(IList) Adapter(IList) Adapter(IList)

Erstellt einen ArrayList-Wrapper für eine angegebene IList.Creates an ArrayList wrapper for a specific IList.

Add(Object) Add(Object) Add(Object) Add(Object)

Fügt am Ende der ArrayList ein Objekt hinzu.Adds an object to the end of the ArrayList.

AddRange(ICollection) AddRange(ICollection) AddRange(ICollection) AddRange(ICollection)

Fügt die Elemente einer ICollection am Ende der ArrayList hinzu.Adds the elements of an ICollection to the end of the ArrayList.

BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer)

Durchsucht mithilfe des angegebenen Vergleichs einen Bereich von Elementen in der sortierten ArrayList nach einem Element und gibt den nullbasierten Index des Elements zurück.Searches a range of elements in the sorted ArrayList for an element using the specified comparer and returns the zero-based index of the element.

BinarySearch(Object) BinarySearch(Object) BinarySearch(Object) BinarySearch(Object)

Durchsucht mithilfe des Standardcomparers die gesamte sortierte ArrayList nach einem Element und gibt den nullbasierten Index des Elements zurück.Searches the entire sorted ArrayList for an element using the default comparer and returns the zero-based index of the element.

BinarySearch(Object, IComparer) BinarySearch(Object, IComparer) BinarySearch(Object, IComparer) BinarySearch(Object, IComparer)

Durchsucht mithilfe des angegebenen Comparers die gesamte sortierte ArrayList nach einem Element und gibt den nullbasierten Index des Elements zurück.Searches the entire sorted ArrayList for an element using the specified comparer and returns the zero-based index of the element.

Clear() Clear() Clear() Clear()

Entfernt alle Elemente aus der ArrayList.Removes all elements from the ArrayList.

Clone() Clone() Clone() Clone()

Erstellt eine flache Kopie von ArrayList.Creates a shallow copy of the ArrayList.

Contains(Object) Contains(Object) Contains(Object) Contains(Object)

Bestimmt, ob sich ein Element in ArrayList befindet.Determines whether an element is in the ArrayList.

CopyTo(Array) CopyTo(Array) CopyTo(Array) CopyTo(Array)

Kopiert die gesamte ArrayList in ein kompatibles eindimensionales Array, wobei am Anfang des Zielarrays begonnen wird.Copies the entire ArrayList to a compatible one-dimensional Array, starting at the beginning of the target array.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Kopiert die gesamte ArrayList-Instanz in ein kompatibles eindimensionales Array, beginnend am angegebenen Index des Zielarrays.Copies the entire ArrayList to a compatible one-dimensional Array, starting at the specified index of the target array.

CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32)

Kopiert einen Bereich von Elementen aus der ArrayList in ein kompatibles eindimensionales Array, beginnend ab dem angegebenen Index im Zielarray.Copies a range of elements from the ArrayList to a compatible one-dimensional Array, starting at the specified index of the target array.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FixedSize(ArrayList) FixedSize(ArrayList) FixedSize(ArrayList) FixedSize(ArrayList)

Gibt einen ArrayList-Wrapper mit fester Größe zurück.Returns an ArrayList wrapper with a fixed size.

FixedSize(IList) FixedSize(IList) FixedSize(IList) FixedSize(IList)

Gibt einen IList-Wrapper mit fester Größe zurück.Returns an IList wrapper with a fixed size.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Gibt einen Enumerator für die gesamte ArrayList zurück.Returns an enumerator for the entire ArrayList.

GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32)

Gibt einen Enumerator für einen Bereich von Elementen in der ArrayList zurück.Returns an enumerator for a range of elements in the ArrayList.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetRange(Int32, Int32) GetRange(Int32, Int32) GetRange(Int32, Int32) GetRange(Int32, Int32)

Gibt eine ArrayList zurück, die eine Teilgruppe der Elemente aus der Quell-ArrayList darstellt.Returns an ArrayList which represents a subset of the elements in the source ArrayList.

GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(Object) IndexOf(Object) IndexOf(Object) IndexOf(Object)

Sucht nach dem angegebenen Object und gibt den nullbasierten Index des ersten Vorkommens innerhalb der gesamten ArrayList zurück.Searches for the specified Object and returns the zero-based index of the first occurrence within the entire ArrayList.

IndexOf(Object, Int32) IndexOf(Object, Int32) IndexOf(Object, Int32) IndexOf(Object, Int32)

Sucht nach dem angegebenen Object und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen in der ArrayList zurück, der sich vom angegebenen Index bis zum letzten Element erstreckt.Searches for the specified Object and returns the zero-based index of the first occurrence within the range of elements in the ArrayList that extends from the specified index to the last element.

IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32)

Sucht nach dem angegebenen Object und gibt den nullbasierten Index des ersten Vorkommens innerhalb des Bereichs von Elementen in der ArrayList zurück, der am angegebenen Index beginnt und die angegebene Anzahl von Elementen enthält.Searches for the specified Object and returns the zero-based index of the first occurrence within the range of elements in the ArrayList that starts at the specified index and contains the specified number of elements.

Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object)

Fügt am angegebenen Index ein Element in die ArrayList ein.Inserts an element into the ArrayList at the specified index.

InsertRange(Int32, ICollection) InsertRange(Int32, ICollection) InsertRange(Int32, ICollection) InsertRange(Int32, ICollection)

Fügt die Elemente einer Auflistung am angegebenen Index in die ArrayList ein.Inserts the elements of a collection into the ArrayList at the specified index.

LastIndexOf(Object) LastIndexOf(Object) LastIndexOf(Object) LastIndexOf(Object)

Sucht nach dem angegebenen Object und gibt den nullbasierten Index des letzten Vorkommens innerhalb der gesamten ArrayList zurück.Searches for the specified Object and returns the zero-based index of the last occurrence within the entire ArrayList.

LastIndexOf(Object, Int32) LastIndexOf(Object, Int32) LastIndexOf(Object, Int32) LastIndexOf(Object, Int32)

Sucht nach dem angegebenen Object und gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs von Elementen in der ArrayList zurück, der sich vom ersten Element bis zum angegebenen Index erstreckt.Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that extends from the first element to the specified index.

LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32)

Sucht nach dem angegebenen Object und gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs von Elementen in der ArrayList zurück, der die angegebene Anzahl von Elementen enthält und am angegebenen Index endet.Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that contains the specified number of elements and ends at the specified index.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ReadOnly(ArrayList) ReadOnly(ArrayList) ReadOnly(ArrayList) ReadOnly(ArrayList)

Gibt einen schreibgeschützten ArrayList-Wrapper zurück.Returns a read-only ArrayList wrapper.

ReadOnly(IList) ReadOnly(IList) ReadOnly(IList) ReadOnly(IList)

Gibt einen schreibgeschützten IList-Wrapper zurück.Returns a read-only IList wrapper.

Remove(Object) Remove(Object) Remove(Object) Remove(Object)

Entfernt das erste Vorkommen eines angegebenen Objekts aus der ArrayList.Removes the first occurrence of a specific object from the ArrayList.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Entfernt das Element am angegebenen Index aus der ArrayList.Removes the element at the specified index of the ArrayList.

RemoveRange(Int32, Int32) RemoveRange(Int32, Int32) RemoveRange(Int32, Int32) RemoveRange(Int32, Int32)

Entfernt einen Bereich von Elementen aus der ArrayList.Removes a range of elements from the ArrayList.

Repeat(Object, Int32) Repeat(Object, Int32) Repeat(Object, Int32) Repeat(Object, Int32)

Gibt eine ArrayList zurück, deren Elemente Kopien des angegebenen Werts sind.Returns an ArrayList whose elements are copies of the specified value.

Reverse() Reverse() Reverse() Reverse()

Kehrt die Reihenfolge der Elemente in der gesamten ArrayList um.Reverses the order of the elements in the entire ArrayList.

Reverse(Int32, Int32) Reverse(Int32, Int32) Reverse(Int32, Int32) Reverse(Int32, Int32)

Kehrt die Reihenfolge der Elemente im angegebenen Bereich um.Reverses the order of the elements in the specified range.

SetRange(Int32, ICollection) SetRange(Int32, ICollection) SetRange(Int32, ICollection) SetRange(Int32, ICollection)

Kopiert die Elemente einer Auflistung über einen Bereich von Elementen in der ArrayList.Copies the elements of a collection over a range of elements in the ArrayList.

Sort() Sort() Sort() Sort()

Sortiert die Elemente in der gesamten ArrayList.Sorts the elements in the entire ArrayList.

Sort(IComparer) Sort(IComparer) Sort(IComparer) Sort(IComparer)

Sortiert die Elemente in der gesamten ArrayList mithilfe des angegebenen Comparers.Sorts the elements in the entire ArrayList using the specified comparer.

Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer)

Sortiert die Elemente in einem Bereich von Elementen in der ArrayList mithilfe des angegebenen Vergleichs.Sorts the elements in a range of elements in ArrayList using the specified comparer.

Synchronized(ArrayList) Synchronized(ArrayList) Synchronized(ArrayList) Synchronized(ArrayList)

Gibt einen synchronisierten (threadsicheren) ArrayList-Wrapper zurück.Returns an ArrayList wrapper that is synchronized (thread safe).

Synchronized(IList) Synchronized(IList) Synchronized(IList) Synchronized(IList)

Gibt einen synchronisierten (threadsicheren) IList-Wrapper zurück.Returns an IList wrapper that is synchronized (thread safe).

ToArray() ToArray() ToArray() ToArray()

Kopiert die Elemente der ArrayList in ein neues Object-Array.Copies the elements of the ArrayList to a new Object array.

ToArray(Type) ToArray(Type) ToArray(Type) ToArray(Type)

Kopiert die Elemente der ArrayList in ein neues Array vom angegebenen Elementtyp.Copies the elements of the ArrayList to a new array of the specified element type.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
TrimToSize() TrimToSize() TrimToSize() TrimToSize()

Legt die Kapazität auf die Anzahl der tatsächlich in der ArrayList enthaltenen Elemente fest.Sets the capacity to the actual number of elements in the ArrayList.

Erweiterungsmethoden

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Threadsicherheit

Öffentliche statische (Shared in Visual Basic) Member dieses Typs sind threadsicher.Public static (Shared in Visual Basic) members of this type are thread safe. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.Any instance members are not guaranteed to be thread safe.

Ein ArrayList gleichzeitige Unterstützung für mehrere Reader, solange die Auflistung nicht geändert wird.An ArrayList can support multiple readers concurrently, as long as the collection is not modified. Um die Threadsicherheit zu gewährleisten die ArrayList, müssen alle Operationen ausgeführt werden, über den Wrapper zurückgegebenes der Synchronized(IList) Methode.To guarantee the thread safety of the ArrayList, all operations must be done through the wrapper returned by the Synchronized(IList) method.

Die Enumeration einer Auflistung ist systemintern keine threadsichere Prozedur.Enumerating through a collection is intrinsically not a thread-safe procedure. Selbst wenn eine Auflistung synchronisiert wird, besteht die Möglichkeit, dass andere Threads sie ändern. Dies führt dazu, dass der Enumerator eine Ausnahme auslöst.Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. Um während der Enumeration Threadsicherheit zu gewährleisten, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen, die aus von anderen Threads stammenden Änderungen resultieren, abfangen.To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

Siehe auch