zoukankan      html  css  js  c++  java
  • 读你必须知道的.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

  • 相关阅读:
    OO第四单元总结
    OO第三单元总结
    回首萧瑟处——软工学期回顾总结
    折腾Linux内核编译
    偷梁换柱:使用mock.patch辅助python单元测试
    OCR-Form-Tools项目试玩记录(二)产品评测
    OCR-Form-Tools项目试玩记录(一)本地部署
    软工个人项目-求交点数目
    软工个人博客作业:阅读、提问与一些调研
    我拒绝同自己和解·软工第一次作业
  • 原文地址:https://www.cnblogs.com/Ribbon/p/2936508.html
Copyright © 2011-2022 走看看