首页 > 代码库 > 《你必须知道的.NET》--后来居上:class和struct(Ⅳ)

《你必须知道的.NET》--后来居上:class和struct(Ⅳ)

本节主要内容:类和结构区别。

Ⅰ、类class

  在.NET中,所有类都最终继承自System.Objetct类,因此是一种引用类型,类实例化的对象的值,保存在托管堆(managed heap)中;

Ⅱ、结构struct

  结构是一种值类型,所有的结构都继承自System.ValueType类,实例分配在线程的堆栈(stack)中;

Ⅲ、为何不用class完全取代struct

  有以下几个地方,我们应该考虑使用struct代替class:

    a.实现一个主要用于存储数据的结构时,可以考虑struct;

    b.struct变量占有堆栈的空间,因此只试用于数据量相对小的场合;

    c.结构数组具有更高的效率;

    d.提供某些和非托管代码通信的兼容性。

《你必须知道的.NET》--后来居上:class和struct(Ⅳ)