Avatar ·

كيفية عمل نسخة عميقة (deep copy) لكائن في .NET (C#)؟

مرحباً بالجميع! أنا مطور C# مبتدئ وواجهت مشكلة في نسخ الكائنات. لدي كلاس Person يحتوي على عدة كائنات متداخلة، مثل Address. عندما أحاول نسخ الكائن عبر التعيين البسيط (simple assignment)، أحصل على مرجع (reference) لنفس الكائن وليس نسخة منه. عند تغيير الخصائص في "النسخة" يتغير الكائن الأصلي أيضاً. إليك مثال كود يوضح المشكلة: ```csharp public class Address { public string City { get; set; } public string Street { get; set; } } public class Person { public string Name { get; set; } public int Age { get; set; } public Address Address { get; set; } } // الاستخدام var original = new Person { Name = "إيفان", Age = 30, Address = new Address { City = "موسكو", St