摘要: 一、托管代码/非托管代码C#代码通过C#编译器编译成程序集,程序集由微软中间语言组成,CLR会为程序集开辟一个应用程序域,程序集就是运行在这个应用程序域里面的,应用程序域是相互独立的,互不影响。托管代码:被CLR管理的代码。非托管代码:不被CLR管理的代码。分配在栈空间的变量,一旦执行完成其所在的作用域(即大括号范围)就会被CLR回收。分配在堆里面的对象,当没有任何变量引用它的时候,这个对象就被标记为“垃圾对象”(没有变量引用它),等待垃圾回收器回收。Eg:1 Person p=new Person();2 3 p=null;//p这时候没有指向任何对象空间,此时为“垃圾对象”。二、GCGC会 阅读全文
posted @ 2013-09-29 18:11 蜡笔小新111 阅读(1710) 评论(1) 推荐(1) 编辑
摘要: 一、结构和类的区别1、结构的级别和类一致,写在命名空间下面,可以定义字段、属性、方法、构造方法也可以通过关键字new创建对象。2、结构中的字段不能赋初始值。3、无参数的构造函数无论如何C#编译器都会自动生成,所以不能为结构定义一个无参构造函数。4、在构造函数中,必须给结构体的所有字段赋值。5、在构造函数中,为属性赋值,不认为是对字段赋值,因为属性不一定是去操作字段。6、结构是值类型,在传递结构变量的时候,会将结构对象里的每一个字段复制一份拷贝到新的结构变量的字段中。7、不能定义自动属性,因为字段属性会生成一个字段,而这个字段必须要求在构造函数中,但我们不知道这个字段叫什么名字。8、声明结构体对 阅读全文
posted @ 2013-09-29 14:11 蜡笔小新111 阅读(516) 评论(0) 推荐(0) 编辑