Avatar ·

Wie macht man eine tiefe Kopie eines Objekts in .NET (C#) richtig?

Hallo zusammen! Ich bin ein Anfänger in C#-Entwicklung und bin auf ein Problem beim Kopieren von Objekten gestoßen. Ich habe eine Klasse Person mit mehreren verschachtelten Objekten, z.B. Address. Wenn ich versuche, ein Objekt durch einfache Zuweisung zu kopieren, erhalte ich einen Verweis auf dasselbe Objekt, nicht eine Kopie davon. Wenn ich Eigenschaften in der "Kopie" ändere, ändert sich auch das ursprüngliche Objekt. \n\nHier ist ein Beispielcode, der das Problem veranschaulicht:\n\n```csharp\npublic class Address\n{\n public string City { get; set; }\n public string Street { get; set; }\n}\n\npublic class Person\n{\n public string Name { get; set; }\n public int Age { get; set; }\n public Address Address { get; set; }\n}\n\n// Verwendung\nvar original = new Person \n{ \n Name = "Ivan", \n Age = 30, \n Address = new Address { City = "Moskau", St