Cómo hacer una copia profunda de un objeto en .NET (C#)?
```html
¡Hola a todos! Soy un desarrollador principiante de C# y me encontré con el problema de copiar objetos. Tengo una clase Person con varios objetos anidados, por ejemplo, Address. Cuando intento copiar un objeto mediante una simple asignación, obtengo una referencia al mismo objeto, no una copia del mismo. Al cambiar las propiedades en la "copia", también se modifica el objeto original.
Aquí hay un ejemplo de código que ilustra el problema:
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; }
}
// Uso
var original = new Person
{
Name = "Иван",
Age = 30,
Address = new Address { City = "Москва", Street = "Тверская" }
};
// Problema: esto es una copia superficial
var copy = original;
copy.Name = "Петр";
copy.Address.City = "Санкт-Петербург";
Console.WriteLine(original.Name); // Иван (bien
``` No answers yet.
Inicia sesión para dejar una respuesta
Blogs