Создание копии объекта в C# [Duplicate] ⇐ C#

Место общения программистов C#
Anonymous
Создание копии объекта в C# [Duplicate]

Сообщение Anonymous »

Посмотрите на код ниже (выдержка из книги C#): < /p>

Код: Выделить всё

public class MyClass
{
public int val;
}
public struct myStruct
{
public int val;
}
public class Program
{
private static void Main(string[] args)
{
MyClass objectA = new MyClass();
MyClass objectB = objectA;

objectA.val = 10;
objectB.val = 20;

myStruct structA = new myStruct();
myStruct structB = structA;

structA.val = 30;
structB.val = 40;

Console.WriteLine("objectA.val = {0}", objectA.val);
Console.WriteLine("objectB.val = {0}", objectB.val);
Console.WriteLine("structA.val = {0}", structA.val);
Console.WriteLine("structB.val = {0}", structB.val);

Console.ReadKey();
}
}
< /code>
Я понимаю, что он дает вывод ниже: < /p>
objectA.val = 20
objectB.val = 20
structA.val = 30
structB.val = 40
Последние две строки вывода, с которыми я не имею проблем, но первые два говорят мне, что Objecta и ObjectB указывают на один и тот же блок памяти (поскольку в C#объекты являются ссылочными типами).
Вопрос в том, как сделать объект , копия

Подробнее здесь: https://stackoverflow.com/questions/656 ... in-c-sharp

Вернуться в «C#»