5.9 Momentaufnahmen von Lists in Arrays speichern

Problem

Sie haben ein ArrayList-, Queue- oder Stack-Objekt und möchten eine Momentaufnahme seines aktuellen Zustands machen. (Beachten Sie, dass dieses Rezept auch bei jedem anderen Datentyp funktioniert, der das Interface ICollection implementiert.)

Lösung

Verwenden Sie die Methode CopyTo, die im Interface ICollection deklariert wird. Die folgende Methode, TakeSnapshotOfList, akzeptiert jeden Typ, der das Interface ICollection implementiert, und macht eine Momentaufnahme des vollständigen Inhalts des Objekts. Diese Momentaufnahme wird dann als Array-Objekt zurückgeliefert:

public static T[] TakeSnapshotOfList<T>(ICollection theList) { T[] snapshot = new T[theList.Count]; theList.CopyTo(snapshot, 0); ...

Get C# Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.