请教,在哪种场景下有必要使用struct,而该场景下struct对比class的明显优势是什么?

ttsffgg 2019-02-02 07:19:54
如题.
如果即使在struct占有优势的场景中,其带来的优势也不大,那么在团队中规定禁止使用struct是否合理?
请教各位在实际开发中的经验,,谢谢.
...全文
184 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ttsffgg 2019-02-03
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
使用struct的主要场景: 大量的小对象,因为struct是值类型,内联在内存上,所以速度快、效率高、节约内存。 和C++等编程语言交换数据,互操作。 C#的类和别的语言的类不兼容,但是结构体兼容的。 使用unsafe方式,使用指针,C#是可以使用指针的,但是指针只能使用结构体。而使用指针的最终目的还是提高效率和互操作。 不使用struct的场景: 结构体不能继承,不能封闭构造函数等等 在团队中规定禁止使用struct是否合理 不合理,基本类库的很多类型都是结构体,比如Color、DateTime,难道都不用了? --------------------- 友情提示,及时结帖,慎用无满意答案结帖。结帖返还一半可用分,无满意结帖或者不结贴没有分返还。
感谢解惑.
threenewbee 2019-02-02
  • 打赏
  • 举报
回复
使用struct的主要场景:
大量的小对象,因为struct是值类型,内联在内存上,所以速度快、效率高、节约内存。
和C++等编程语言交换数据,互操作。 C#的类和别的语言的类不兼容,但是结构体兼容的。
使用unsafe方式,使用指针,C#是可以使用指针的,但是指针只能使用结构体。而使用指针的最终目的还是提高效率和互操作。
不使用struct的场景:
结构体不能继承,不能封闭构造函数等等

在团队中规定禁止使用struct是否合理
不合理,基本类库的很多类型都是结构体,比如Color、DateTime,难道都不用了?

---------------------
友情提示,及时结帖,慎用无满意答案结帖。结帖返还一半可用分,无满意结帖或者不结贴没有分返还。

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧