Unity开发之C#基础-结构体

Unity开发之C#基础-结构体,第1张

前言

上一篇介绍了c#中的枚举,本篇我们介绍与枚举一样的复合值类型:结构体(struct)

目录
  • 前言
  • 为什么需要结构体类型?
  • 结构体的用处?
  • 结构体变量的创建
  • 结构体成员方法
  • 结构体与类的相同和不同
  • 结构体和类的适用空间
  • 总结

为什么需要结构体类型?

像int,double这些简单值类型都是在.NET类库中预定义的。很多情况下,人们需要将 不同的简单值类型组合起来使用,这时就可以使用结构类型

结构体的用处?

考虑“复数”这个概念,.NET类库没有类型定义,那么可以在double类型的基础上定义该类 型,它由两个double类型的字段组成,其中a表示复数的实部,b表示虚部。

结构体变量的创建

结构体成员方法

结构体还可以有成员方法,这说明结构实际上是部分面向对象,它也支持信息隐藏和封装, 能够进行对象创建和消息通信。

看到这里可能有的学过编程的同学会觉得这不就是跟差不多吗,那我们就来大致的说一下什么时候用类什么时候用结构体。(没有学过类的同学也不要急,这里只是简单概括一下,后面的文章会讲到类的)

结构体与类的相同和不同
  1. 相同点:C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数 据成员和方法成员
  2. 不同点:结构是值类型,它在栈中分配空间;而类是引用类型,它在堆中分配空间,栈中保 存的只是引用
结构体和类的适用空间
  1. 当堆栈的空间很有限,且有大量的逻辑对象时,创建类要比创建结构好一些
  2. 对于点、矩形和颜色这样的轻量对象使用结构体
  3. 在表现抽象和多级别的对象层次时,类是最好的选择,因为结构不支持继承

总结

以上就是结构体的简答讲解,下期我们将会讲解到String类型

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/793005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存