.NET中深复制(deep copy)与浅复制(shallow copy)
摘要:深复制(deep copy)和浅复制(shallow copy)都是用于对象之间的拷贝。 注:参考CodeProject 浅复制:创建一个新对象, 然后将当前对象的非静态字段拷贝到新对象.如果字段是值类型的, 在堆栈上开辟一个新的空间, 将该字段进行逐位复制到新空间.如果字段是引用类型的, 在堆栈区域开辟一个存放引用的空间, 将当前对象的引用复制到此空间, 而引用的对象不变. 因此, 原始对象及其复本引用同一对象。在C#中创建一个浅表副本, 也就是克隆一个新的对象 使用MemberwiseClone()方法,返回一个当前对象的浅表副本。下面是一个示例:View Code class Shall
阅读全文
posted @
2011-04-29 15:46
JACKALMA
阅读(3368)
推荐(0)
读取电脑所有磁盘文件并输出路径
摘要:最近项目不是太忙,做了一个小程序。刚开始只是想输出电脑所有文件,看看里面到底有哪些东西。 到后来再想如果其他人运行程序后,是否能把他电脑中文件名和所在路径都发到我邮箱呢? 所以慢慢这个小程序也就做的比较完美了。运行程序后它具体的执行步骤如下:1、隐藏窗口(调用API) 我用的是控制台应用程序,运行之后不能让用户看到运行界面。只能在进程中看到运行的程序。2、保护进程(调用一个VC++核心库函数) 对当前进程进行保护,即使用户发现,也无法在任务管理器中结束。3、检测网络连接是否正常(调用API) 因为有些用户用的是3G 或者拨号上网,开机后要等一段时间网络才能连接。4、拷贝文件 这一步是把
阅读全文
posted @
2011-01-27 12:22
JACKALMA
阅读(2044)
推荐(0)