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

  • 相关阅读:
    STL--set_difference
    priority_queue和sort应用
    16进制转化8进制---map
    LeetCode62. 不同路径
    LeetCode209. 长度最小的子数组
    LeetCode第29场双周赛题解
    LeetCode61. 旋转链表
    LeetCode60. 第k个排列
    LeetCode59. 螺旋矩阵 II
    LeetCode58. 最后一个单词的长度
  • 原文地址:https://www.cnblogs.com/Ribbon/p/2936508.html
Copyright © 2011-2022 走看看