你知道C#中的new关键字在声明一个对象时都做什么了吗?
2010-05-15 11:51
387 查看
new操作符创建一个对象时所执行的工作如下:
1。从托管堆(managed heap)中分配指定类型所需要数量的字节作为存储该对象的内存空间。
2。初始化对象的附加成员,每一个对象包含两个附加成员。CLR使用这两个对象来管理对象实例。
2.1一个是指向该类型方法表的指针。
2.2一个是用于线程同步控制和垃圾收集的SyncBlockIndex。
3。传入new操作符中指定的参数,调用类型的实例构造函数。
摘自框架设计!
在此备注。免得忘记。也给不知道的提个醒。
1。从托管堆(managed heap)中分配指定类型所需要数量的字节作为存储该对象的内存空间。
2。初始化对象的附加成员,每一个对象包含两个附加成员。CLR使用这两个对象来管理对象实例。
2.1一个是指向该类型方法表的指针。
2.2一个是用于线程同步控制和垃圾收集的SyncBlockIndex。
3。传入new操作符中指定的参数,调用类型的实例构造函数。
摘自框架设计!
在此备注。免得忘记。也给不知道的提个醒。
相关文章推荐
- c# 声明一个对象意味着什么
- 用 new 关键字对一个String 变量赋值和用literal值直接赋值有什么不同
- 1.在使用new创建数组后,此时数组还是一个引用数组。 只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束2.什么是引用类型?
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- new一个对象,到底会发生什么
- 用 new 关键字对一个String 变量赋值和直接赋值有什么不同
- 创建一个对象 new 与 不加new 有什么区别
- 代码调用DruidDataSource来管理conn连接,同时声明了ThreadLocal对象来保存每次线程请求所获取的连接,这样可以避免每个new一个JDBC
- 用new关键字对一个String 变量赋值和用literal值直接赋值有什么不同(转)
- new一个类对象和使用类名创建一个对象有什么区别?该怎么解决
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- Java和C++声明一个对象有什么不同
- c# 使用 new 操作符构造新对象中做了一些什么 (简单版)
- Java中实例是什么意思?补充:new 一个对象是实例吗? 能举个小例子吗?
- 用关键字new创建对象 new都做了什么
- 用 new 关键字对一个String 变量赋值和直接赋值有什么不同
- 用new关键字对一个String 变量赋值和用literal值直接赋值有什么不同(转)
- 声明一个对象和new一个对象有什么区别?
- C#中进行字符串类型声明时,一个小写 "string ", 一个大写 "String ", 这两个类有什么区别呢?
- 用 new 关键字对一个String 变量赋值和用literal值直接赋值有什么不同