`
ay_guobo
  • 浏览: 117895 次
  • 性别: Icon_minigender_1
  • 来自: 札幌
社区版块
存档分类
最新评论

C#深度拷贝(Deep Copy)

    博客分类:
  • C#
阅读更多

Hashtable和ArrayList等经常需要深度拷贝,而.Net没有现成的函数可以调用,我从国外找了一个方法。

 

 public object Clone()
        {
            BinaryFormatter Formatter = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone));
            MemoryStream stream = new MemoryStream();
            Formatter.Serialize(stream, this);
            stream.Position = 0;
            object clonedObj = Formatter.Deserialize(stream);
            stream.Close();
            return clonedObj; 
        }

 继承了Clonable接口之后,像这样重写Clone()方法就可以了,他利用了序列化和反序列化的原理,将序列化的流丢入内存,再从内存中反序列化回来就OK了!

分享到:
评论

相关推荐

    netty-codec-mqtt-4.1.7.Final.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    byte-buddy-agent-1.10.20.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    jackson-module-jaxb-annotations-2.2.3.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    电子洁净厂房串级PID自控程序及露点焓值计算技术实现

    内容概要:本文详细介绍了为满足电子洁净厂房对温湿度高精度控制的需求而开发的一套串级PID自控系统及其露点焓值计算方法。文中首先阐述了传统单回路PID控制无法应对电子厂房特有的温湿度耦合特性的局限性,随后展示了采用主环焓差控制、副环温湿度PID控制的串级PID架构的具体实现方式。通过自定义双向PID调节算法,根据不同工况调整比例积分系数,有效提高了系统的响应速度和稳定性。此外,还提供了精确的露点计算函数,确保湿度控制精度达到±5%,并分享了调试过程中遇到的问题及解决方案。最终测试结果显示,该系统能够将温度波动控制在±1℃范围内,湿度控制精度优于预期。 适合人群:从事工业自动化控制领域的工程师和技术人员,尤其是关注电子洁净厂房环境控制系统优化的专业人士。 使用场景及目标:适用于需要对温湿度进行精准控制的电子洁净厂房建设或改造项目,旨在提高生产环境稳定性和产品质量。 其他说明:文中提到的关键技术和算法均已在实际工程项目中得到验证,具有较高的实用价值。

    基于本证间隙增大的K邻域加权谱聚类算法.zip

    基于本证间隙增大的K邻域加权谱聚类算法.zip

    spring-context-5.1.3.RELEASE.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    机械手与传送带协同作业:基于西门子200PLC梯形图程序及MCGS7.7仿真的实现与分析

    内容概要:本文详细介绍了机械手与传送带协同作业的实现方法,重点在于使用西门子200PLC进行梯形图程序设计以及借助MCGS7.7仿真软件进行系统测试。首先描述了具体的工业应用场景——即机械手传送带搬运工件的任务流程;接着深入探讨了梯形图程序的具体设计思路,包括输入输出信号定义及其间的逻辑关联;然后讲解了如何利用MCGS7.7构建仿真环境来进行程序验证,并展示了相关操作步骤;最后提供了完整的运行效果视频截图和IO表数据记录,以便于读者更好地理解和掌握这套自动化解决方案。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些希望深入了解PLC编程及仿真工具使用的专业人士。 使用场景及目标:适用于需要设计和实施类似自动化生产线的企业或研究机构,旨在帮助相关人员快速上手并熟练运用PLC编程技巧完成项目任务。 其他说明:文中不仅有理论性的阐述,还附有大量的实例演示,使得抽象的概念变得具体易懂。此外,作者强调了实际操作过程中可能遇到的问题及解决办法,为初学者提供了宝贵的实践经验指导。

    基于遗传算法优化最小二乘支持向量机的多输出数据回归预测及其Matlab实现

    内容概要:本文详细介绍了基于遗传算法优化最小二乘支持向量机(GA-LSSVM)的多输出数据回归预测方法。首先阐述了GA-LSSVM的基本原理,即通过遗传算法优化LSSVM的参数,从而提升回归预测的准确性。接着,文章具体讲解了如何利用MATLAB实现这一方法,包括数据准备、参数初始化、遗传算法定义、编码与解码、模型训练以及交叉验证等步骤。最后,通过交叉验证抑制过拟合问题,确保模型的泛化能力和预测精度。 适合人群:从事机器学习、数据分析的研究人员和技术人员,尤其是对多输出数据回归预测感兴趣的读者。 使用场景及目标:适用于需要处理复杂多输出数据回归预测任务的场景,旨在提供一种高效、精确的方法来解决此类问题。通过学习本文,读者可以掌握GA-LSSVM的具体实现流程,进而应用于实际项目中。 其他说明:文中提供的MATLAB代码实现了完整的GA-LSSVM多输出回归预测过程,建议读者使用MATLAB 2018B或更高版本运行代码,并关注数据预处理、参数调整等方面的内容以优化模型表现。

    电力电子领域单相三电平逆变器并网技术及其PLL锁相环闭环控制策略研究

    内容概要:本文深入探讨了单相三电平逆变器并网技术及其关键组件——闭环控制和PLL锁相环的作用。首先介绍了单相三电平逆变器的基本概念及其相较于传统两电平逆变器的优势,如低谐波失真和高效率。接着详细解释了并网技术的工作原理,强调了闭环控制在维持电网稳定性和电能质量方面的重要性。最后阐述了PLL锁相环的功能,即通过实时检测电网电压的相位和频率,确保逆变器输出与电网同步,从而提升系统的稳定性和电能质量。文中还提供了简化的代码片段,用于演示闭环控制和PLL锁相环的具体应用。 适合人群:从事电力电子领域的研究人员和技术人员,以及对逆变器并网技术和控制系统感兴趣的工程专业学生。 使用场景及目标:适用于希望深入了解单相三电平逆变器并网技术及其控制策略的研究人员和技术人员。目标是掌握并网技术的核心原理,特别是闭环控制和PLL锁相环的应用,以便优化系统性能和电能质量。 其他说明:本文不仅提供理论知识,还包括实用的代码示例,有助于读者更好地理解和应用于实际项目中。

    groovy-all-2.0.0-rc-1.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    混合动力汽车P2构型的DP动态规划优化及应用研究

    内容概要:本文探讨了基于DP(动态规划)算法的P2构型混合动力汽车的电量维持策略及其优化方法。研究利用ADVISOR软件获取车辆相关数据,建立了能量管理模型,并通过逆向迭代和正向寻优过程优化控制策略,实现了较好的燃油经济性和动力性能。此外,DP算法优化结果还可为后续MPC(模型预测控制)提供参考,并可用于神经网络训练,提升混合动力汽车的整体性能。 适合人群:从事混合动力汽车研究的专业人士、汽车工程领域的研究人员和技术爱好者。 使用场景及目标:适用于希望深入了解混合动力汽车P2构型优化方法的研究人员,旨在通过DP算法优化混合动力汽车的性能,提高燃油经济性和动力表现。 阅读建议:读者应具备一定的汽车工程和动态规划基础知识,以便更好地理解和应用文中提到的方法和技术。

    欧姆龙PLC Modbus RTU主站通讯简易实现方法及应用场景

    内容概要:本文介绍了一种简易的欧姆龙PLC Modbus RTU主站通讯解决方案,适用于CP1H、CP1L、CJ2M等型号的PLC。通过设置RS485通信的RS232C模式,用户可以轻松实现Modbus RTU通讯,而无需复杂的配置。文中详细介绍了读操作和写操作的具体步骤,以及CRC校验的应用。此外,还提到了功能码的支持范围和多功能块调用时的注意事项。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些需要快速实现Modbus RTU通讯的人群。 使用场景及目标:① 快速搭建欧姆龙PLC与支持Modbus RTU设备之间的通讯;② 简化配置过程,提高工作效率;③ 实现读写操作,确保数据传输的准确性。 其他说明:本文提供了详细的代码示例和设置指导,帮助用户更好地理解和实施该方案。未来还将提供设置图片,进一步辅助理解。

    netty-codec-mqtt-4.1.0.CR5.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    DOS网络命令大全(网络攻击与防御命令大全).pdf

    CTF网络安全技术相关资源

    groovy-all-1.5.7.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    netty-codec-mqtt-4.1.27.Final.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    COMSOL仿真在PEM电解槽三维两相流及多物理场耦合分析中的应用

    内容概要:本文探讨了使用COMSOL仿真软件对PEM电解槽进行三维两相流模拟及其多物理场耦合分析的情况。文中介绍了COMSOL仿真的强大功能,特别是其在流体流动、电化学和化学反应等领域的应用。通过对PEM电解槽的三维两相流模拟,可以深入了解电化学、两相流传质、析氢析氧及化学反应热等多物理场耦合现象,分析这些因素对电解槽电流密度分布、氢气体积分数、氧气体积分数及液态水体积分数的影响。最终,这种模拟有助于优化PEM电解槽的设计,提升其效率和性能。 适合人群:从事清洁能源研究的专业人士、高校相关专业师生、对电化学和多物理场耦合有兴趣的研究人员。 使用场景及目标:适用于需要详细了解PEM电解槽内部机制及优化其设计的研究项目。目标是通过模拟分析,为提高电解槽效率提供理论依据和技术支持。 其他说明:文章强调了COMSOL仿真工具的强大功能及其在多物理场耦合问题上的优势,对于理解和改进PEM电解槽有重要指导意义。

    基于TSMC18RF工艺的Cadence Virtuoso LDO带隙基准电路设计及仿真

    内容概要:本文详细介绍了使用Cadence Virtuoso设计基于TSMC18RF工艺的LDO带隙基准电路的方法。首先解释了为何选择TSMC18RF工艺,接着逐步讲解了如何在Cadence Virtuoso中创建库和单元视图、绘制原理图(包括选择核心器件如BJT、配置电阻电容、设置电源与偏置)、以及进行电路仿真验证(包括直流仿真和温度仿真)。最后提到提供的工程文件可以直接导入并使用,大大提高了设计效率。 适合人群:从事模拟IC设计的工程师和技术人员,尤其是对LDO带隙基准电路感兴趣的读者。 使用场景及目标:适用于需要设计高精度、低功耗LDO带隙基准电路的项目,旨在帮助设计师掌握从电路搭建到仿真验证的完整流程,提高设计效率和准确性。 其他说明:文中提供了详细的步骤指导和代码示例,有助于读者更好地理解和实践。此外,还附带了完整的工程文件,便于快速上手和进一步开发。

    基于ISSA-CNN-LSTM-Attention的麻雀算法优化数据回归预测模型及其Matlab实现

    内容概要:本文介绍了基于改进麻雀算法(SSA)优化的卷积-长短期记忆神经网络(CNN-LSTM)结合注意力机制的数据回归预测模型。该模型适用于多变量单输出的回归问题或时序单列预测问题。通过引入tent混沌映射初始化种群、自适应权重、基于莱维飞行的搜索质量提升和可变螺旋位置更新策略等四个改进点,优化了麻雀算法,从而提升了模型的预测精度和稳定性。模型使用Matlab 2020B及以上版本实现,主要优化参数包括学习率、隐藏层节点数和正则化参数。评价指标包括R2、MAE、RMSE和MAPE等。 适用人群:对机器学习和深度学习感兴趣的科研人员、学生及从业者,尤其是希望深入了解和应用改进麻雀算法优化CNN-LSTM-Attention模型的人士。 使用场景及目标:① 提供了一个高效的数据回归预测工具,适用于多种应用场景,如金融、气象等领域的时间序列预测;② 帮助研究人员和开发者快速上手并优化自己的数据预测模型。 其他说明:模型提供了详细的注释和示例数据,便于初学者理解和使用。需要注意的是,模型的效果取决于具体数据集的质量,不能保证所有情况下都能达到理想结果。

    基于MATLAB的电池管理系统(BMS)仿真模型构建与功能解析

    内容概要:本文详细介绍了如何在MATLAB环境中构建电池管理系统(BMS)的仿真模型。涵盖了多个关键功能模块的设计与实现,包括限位保护、EKF-SOC估计、电池均衡、充放电控制、冷却风机管理和开机自检等。每个模块的功能及其在MATLAB中的具体实现方法都进行了深入讲解,旨在帮助读者全面理解BMS的工作原理和技术细节。 适合人群:从事电池管理系统研究的技术人员、电动汽车及相关领域的工程师、高校相关专业师生。 使用场景及目标:适用于希望深入了解BMS内部运作机制的研究者,以及希望通过仿真手段辅助产品设计和优化的实际开发者。目标在于掌握BMS各个子系统的协同工作方式,提高电池使用的安全性和效率。 阅读建议:由于涉及到较多的专业术语和技术细节,建议读者具备一定的电力电子基础知识和MATLAB编程经验。同时,配合提供的示例代码进行实践操作,有助于更好地理解和吸收文中所讲授的知识点。

Global site tag (gtag.js) - Google Analytics