相关疑难解决方法(0)

如何在.NET中执行对象的深层复制(特别是C#)?

我想要一个真正的深拷贝.在Java中,这很容易,但是你如何在C#中做到这一点?

.net c# serialization clone

560
推荐指数
6
解决办法
42万
查看次数

在C#中创建对象的副本

可能重复:
如何在.Net(特别是C#)中深层复制对象?

请看下面的代码(摘自C#书):

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();
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道它会产生下面的输出

objectA.val …
Run Code Online (Sandbox Code Playgroud)

c# reference object cloning

150
推荐指数
4
解决办法
55万
查看次数

标签 统计

c# ×2

.net ×1

clone ×1

cloning ×1

object ×1

reference ×1

serialization ×1