C#进阶
文章平均质量分 67
BIMBuilder
博客的成功,在于对自己的文章足够自信;博客的失败,在于自己都不愿去看自己的文章。实用!充分!迭代!
展开
-
C#内存机制
由于C#是一种托管语言,它的垃圾回收机制(GC)是由.net平台负责的,加之C#语言并没有指针,所以我们在使用过程中极少会考虑到内存使用状况以及项目在运行过程中是如何进行内存管理的。但是,C#只是在内存管理方面对程序员隐藏了,并不代表它不涉及这些东西,甚至其内部内存管理或许比自己手动管理更加复杂。一. 存储类型:当我们程序执行的时候,在内存中(不同区域)分配有四种主要的类型:值类型,引用类型,...原创 2018-03-25 19:17:52 · 3351 阅读 · 1 评论 -
深拷贝与浅拷贝
1. 概念 1)深拷贝 深拷贝:指的是拷贝一个对象时,不仅仅把对象的引用进行复制,还把该对象引用的值也一起拷贝。这样进行深拷贝后的拷贝对象就和源对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。举个例子,一个人叫张三,然后使用克隆技术以张三来克隆另外一个人叫李四,这样张三和李四就是相互独立的,不管张三缺胳膊还是李四少腿了都不会影响另外一个人。在.NET领域,值类型对象就是典型的...原创 2018-03-25 19:20:56 · 141 阅读 · 0 评论 -
C#字符串的不变性
string 类型是c#中使用最频繁的类型,因此CLR用专门的方法来处理、优化string,使得string虽然你是引用类型,但在表现上被.NET优化为值类型。 变量存储的地址指向新对象String s1 =“abc”; s1 = “def”;两个变量地址指向同一个对象string s1 =“abc”;string s2 = s1;s2 = “def”;S2地址重新指向新对象,S1地址指向的老对象...原创 2018-03-25 19:21:23 · 385 阅读 · 0 评论 -
我眼中的IL, JIT,CTS, CLS,CLR
一 概念及作用 1. IL代码:1)概念:.NET框架中的中间语言(Intermediate Language)的缩写,IL还有另外的2种叫法:CIL,Common Intermediate Language;MSIL, MicrosoftIntermediate Language。作用:使用.NET框架提供的编译器(例如VS)可以直接将源程序(例如C++,VB.NET,C#)编译为.exe或....原创 2018-03-25 19:22:35 · 1082 阅读 · 0 评论 -
委托与事件
委托与事件一 委托1-标准写法定义一个委托:public delegate void EventHandler(object sender,EventArgs e); 2- 对委托的描述1)首先委托是一个类(引用类型),因此在定义时最好将定义委托的位置与其他类平行; 2)定义委托需要约定好返回值和参数;声明一个委托类型的变量,指向符合这个委托类型约束格式的函数(回调函数);对指向函数的格式(返回...原创 2018-04-06 16:50:21 · 239 阅读 · 1 评论 -
序列化与反序列化
一 什么是序列化与反序列化1-概念把对象转换为字节序列的过程称为对象的序列化; 把字节序列恢复为对象的过程称为对象的反序列化。 序列化是将对象状态转换为可保持或传输的格式的过程,在序列化过程中,对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。 2-目的其目的是以...原创 2018-04-27 07:52:00 · 355 阅读 · 0 评论