1. The number of bytes required for all instance fields defined in the calculation type and all base types (until system. Object, although it does not define its own instance fields. Each object on the stack needs some additional members-"type Object Pointer" and "synchronous block Index ". These members are used by CLR to manage objects. The number of bytes of these additional members is the size of the incoming object.
2. It allocates bytes of the specified type from the managed heap to allocate the object memory. All allocated bytes are set to 0.
3. It initializes the "type Object Pointer" and "synchronization block Index" members of the object.
4. The strength constructor of the call type to pass in any real parameters specified in the call to new. Most compilers automatically generate code in the constructor to call a base class constructor. Each type of structure is responsible for initializing the instance fields defined by this type during the call. Finally, the system. object constructor is called. The constructor simply returns the constructor knowledge and does not do anything else. To prove this, you can use ildasm.exe to load mscorlib. dll and check the system. object constructor.