C# 图解教程 第 11 章 结构(笔记+模仿代码)

11.1 什么是结构

结构和类的区别:

  • 类是引用类型,结构是类型;
  • 结构是隐式密封的,不能派生。

11.2 结构是值类型

结构类型的变量不能为null

11.3 对结构赋值

11.4 构造函数和析构函数

结构可以有实力构造函数和静态构造函数,但是不允许有析构函数。

11.4.1 实例构造函数

和类不同,结构永远存在预定义的无参数构造函数。

可以不用new运算符创建结构的实例,但是必须先对所有数据成员赋值后再访问。

11.5 属性和字段初始化语句

不允许在声明时对实例属性和字段初始化,但是可以对静态属性和静态字段初始化。

11.6 结构是密封的

所以一些和继承相关的修饰符不能在结构成员声明时使用。

newoverride除外:
因为所有结构都派生自System.ValueType,而System.ValueType派生自object,所以当创建和System.ValueType同名的成员时可以使用new或者override

11.9 关于结构的更多内容

  • 预定义简单类型(int, short等等)实际上在 .NET 中都实现为结构;
  • 使用结构代替类有时可以提高性能,但要注意装箱和开箱的高昂代价。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值