.NET C# new一个对象产生的字节数取决于以下因素:
对于简单的对象,例如 int、string 或 bool,new一个对象只会产生一个指针,指向对象在堆上的存储位置。这个指针的大小为 4 字节(在 32 位系统上)或 8 字节(在 64 位系统上)。
对于复杂的对象,例如 class 或 struct,new一个对象还会分配空间来存储对象的属性和方法。属性和方法的大小取决于它们的类型和大小。
构造函数也会影响 new 一个对象的大小。如果构造函数有参数,则这些参数也会占用空间。
以下是一些例子:
- // 创建一个 int 对象
- int i = new int();
- // 占用 4 字节
-
- // 创建一个 string 对象
- string s = new string("Hello, world!");
- // 占用 (字符串长度 + 1) 字节
-
- // 创建一个 class 对象
- class MyClass {
- public int x;
- public string y;
-
- public MyClass() {
- x = 10;
- y = "Hello, world!";
- }
- }
-
- MyClass myClass = new MyClass();
- // 占用 (x 的大小 + y 的大小 + 2 * 4) 字节
-
总之,.NET C# new 一个对象产生的字节数是一个动态值,取决于对象的类型、属性和方法以及构造函数。