• 读你必须知道的.NET(四)


    类(class)是面向对象编程的概念,是一种自定义数据结构类型,通常包含字段、属性、方法、构造函数、索引器、操作符等,在.NET中所有类都最终继承自System.Object类,是一种引用类型,也就是说,new一个类的实例时,对象保存了该实例实际数据的引用地址,而对象的值保存在托管堆中,其表现为行为,支持继承,可以继承自类和接口,但不能被struct继承,也不能从struct继承。

    结构(struct)是一种值类型,用于将一组相关信息变量组织为一个单一的变量实体,所有结构都继承自System.ValueType类,struct实例分配在线程的堆栈上,本身存储了值,不包含指向该值的指针。两者语法类似,但struct常用于存储数据,它没有自定义的默认无参构造函数,只能声明带参构造函数,不能声明析构函数,可以继承自接口,但不能继承类或结构。

    实例化时,class使用new关键字,但struct可以不用new关键字,如果不以new实例化struct,则其所有的字段将处于未分配状态,直到所有字段完成初始化,否则引用未赋值的字段会导致编译错误。

    何时使用struct

    实现一个主要用于存储数据的结构时,可以考虑struct;struct变量占有堆栈空间,因此只适用于数据量相对小的场合;结构数组具有更高的效率;提供某些和非托管代码通信的兼容性。

    http://www.cnblogs.com/anytao/archive/2007/04/24/must_net_04.html

  • 相关阅读:
    剑指Offer-用两个栈实现队列
    剑指Offer-从尾到头打印链表
    滑动门技术实现
    解决keil5中文注释乱码方法
    faker数据填充详解
    redis在微博与微信等互联网应用笔记
    JDBC插入中文数据出现?号地解决问题
    idea配置less自动编译
    idea使用Vue的v-bind,v-on报错
    idea 代码部分格式化
  • 原文地址:https://www.cnblogs.com/Ribbon/p/2936508.html
Copyright © 2020-2023  润新知