文档章节

C#深拷贝

开源中国123456789
 开源中国123456789
发布于 2016/11/07 11:06
字数 117
阅读 4
收藏 0
  /// <summary>
        /// 深拷贝
        /// </summary>
        /// <typeparam name="T">对象类型(必须是Serializable类)</typeparam>
        /// <param name="realObject">对象</param>
        /// <returns></returns>
        public static T Clone<T>(T realObject)
        {
            using (Stream objectStream = new MemoryStream())
            {
                var formatter = new BinaryFormatter();
                formatter.Serialize(objectStream, realObject);
                objectStream.Seek(0, SeekOrigin.Begin);
                return (T) formatter.Deserialize(objectStream);
            }
        }
static void Main(string[] args)
       { 
           var lsttt = new List<tt>();
           var tt1 = new tt
           {
               Name = "obj1",
               Sex = "20"
           };
           lsttt.Add(tt1);
           var l333 = new List<tt>
           {
               Clone<tt>(lsttt[0])
           };
           l333[0].Name = "333333333";
           foreach (var item in lsttt)
           {
               Console.WriteLine(item.Name);
           }
           Console.ReadKey();
       }
[Serializable]  //一定得序列化
    public class tt
    { 
        public string Name   { get; set; }
      
        public string Sex { get; set; }
    }  
 

© 著作权归作者所有

上一篇: 单例模式泛型类
下一篇: C# 扩展方法
开源中国123456789
粉丝 7
博文 77
码字总数 66184
作品 0
海淀
私信 提问
图解 Python 深拷贝和浅拷贝

原文出处:http://www.cnblogs.com/wilber2013/p/4645353.html Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果。 下面本文就通过简单...

kuSorZ
2017/11/01
0
0
python深拷贝和浅拷贝的区别

浅拷贝就比如像引用类型,而深拷贝就比如值类型。 浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。举个例子,...

shujuliu
2017/05/19
0
0
设计模式之原型模式学习

由于没有接触过C#,不知《大话设计模式》所云。但无看了《大话设计模式》觉得非就是深拷贝和浅拷贝的问题。在此谈谈我对C++深拷贝与浅拷贝的认识,不足之处请指出。 对编程来说简单的复制粘贴...

长平狐
2012/10/08
28
0
个人以前经常犯的5大C++作死行为。

真心地,每看一遍自己以前的代码就想骂自己一遍,作死啊,真的是too young too simple, sometimes naive啊。给大家分享一下,求喷。 1.new出一个指针后判断它是否为空。 一看就是过时的书看多...

梦游的睡鼠
2014/05/18
1K
5
.NET的数学库NMath实用教程——创建最小二乘法

NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,有任何建议或提示...

ymy_666666
01/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

HBase新建表报错 org.apache.hadoop.hbase.TableExistsException

之前安装了旧版本的hbase, 没有清理其在Zookeeper上的内容。 解决办法 stop-hbase.sh zkCli.sh >>> rmr /hbase >>> quit start-hbase.sh...

dreamness
15分钟前
0
0
大数据技术的应用现状与展望

本文是我即将由嵌入式底层驱动行业转入大数据研究领域的综述文章,案例摘自《程序员》电子期刊,由于初学者知识面较窄,查看文献量较少,因此后续还会在此基础上,继续跟踪并深入研究,为论文...

陈小君
21分钟前
0
0
NCRE考试感想 三级信息安全(上)

时间节点 报名时间:2017-06 考试时间:2017-09 查询成绩:2017-11   考试简述 满分100分,时间120分钟。题型有三种,选择题、综合题、应用题。   备考经验 题库是WLJY的,买了激活码。为了...

志成就
29分钟前
0
0
百度地图显示我的位置

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title></title><script type="text/javascript" src="jquery-1.8.2.min.js"></script></head><body><sec......

塔塔米
33分钟前
0
0
mysql mysql常用的常用函数

1. 数学函数 函 数 作 用 ABS(x) 返回x的绝对值 CEIL(x),CEILIN(x) 返回不小于x的最小整数值 FLOOR(x) 返回不大于x的最大整数值 RAND() 返回0~1的随机数 RAND(x) 返回0~1的随机数,x值相同返...

edison_kwok
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部