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

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

Ⅰ、类classspa

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

Ⅱ、结构struct对象

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

Ⅲ、为什么不用class彻底取代structclass

  有如下几个地方,咱们应该考虑使用struct代替class:效率

    a.实现一个主要用于存储数据的结构时,能够考虑struct;变量

    b.struct变量占有堆栈的空间,所以只试用于数据量相对小的场合;兼容性

    c.结构数组具备更高的效率;引用

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

相关文章
相关标签/搜索