


Wie kann ich eine Liste in C# tief kopieren, um gemeinsame Referenzen zu vermeiden?
Erstellen einer echten Tiefenkopie einer C#-Liste
Die Herausforderung
Die einfache Verwendung von new List<Book>(books_1)
zum Klonen eines List<T>
in C# erstellt keine völlig unabhängige Kopie. Änderungen an der geklonten Liste wirken sich auch auf die ursprüngliche Liste aus, da sie gemeinsame Verweise auf die zugrunde liegenden Objekte enthalten.
Die Lösung: Ein Deep-Copy-Ansatz
Um eine wirklich tiefe Kopie zu erhalten und sicherzustellen, dass Änderungen an der geklonten Liste keine Auswirkungen auf das Original haben, verwenden Sie die folgende Technik:
List<Book> books_2 = books_1.ConvertAll(book => new Book(book.title));
Dieser Code durchläuft jedes Book
-Objekt in der Originalliste (books_1
). Für jedes Objekt wird mithilfe eines Konstruktors ein neues Book
-Objekt erstellt (hier impliziert, vorausgesetzt, dass Book
über einen Konstruktor verfügt, der title
als Argument verwendet). Diese neu erstellten Book
-Objekte werden dann einer neuen Liste (books_2
) hinzugefügt. Dies garantiert, dass books_2
völlig unabhängige Kopien der Daten von books_1
enthält.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Liste in C# tief kopieren, um gemeinsame Referenzen zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?
