首页 新闻 会员 周边

C#面向对象编程中,在什么时候会用到结构

0
悬赏园豆:10 [已解决问题] 解决于 2015-04-20 20:59

感觉在oop中,基本不怎么会用到结构。

实际项目中,一般都是直接用类,接口。

小小无厘头的主页 小小无厘头 | 初学一级 | 园豆:195
提问于:2015-04-20 11:06
< >
分享
最佳答案
1

调用非托管 DLL 时会用到。

收获园豆:10
Launcher | 高人七级 |园豆:45045 | 2015-04-20 11:49

你不说我还忘了,好像从学C#以来,只有上次用SendInput的时候用结构定义过。。

小小无厘头 | 园豆:195 (初学一级) | 2015-04-20 20:59
其他回答(2)
0

确实,现在很少用到结构了。

我也有时心血来潮的想用结构,最终又改回了类。

不过呢,使用结构有很多好处,最关键的就是轻量级数据对象。其次,就是数据安全,不用担心被他人改了,因为要授权(需要引用参数传递)。

519740105 | 园豆:5810 (大侠五级) | 2015-04-20 11:09
0

结构是值类型,为结构分配内存时,速度非常快,因为它们将内联或者保持在堆栈上。在结构超出了作用域被删除时,速度也很快(因为只要移动指针即可从堆栈中回收内存),不需要GC的自动回收管理。结构主要用于小的数据结构,性能要求较高的时候,结构是你的最好选择。但是,结构不适合进行参数传递,因为将结构当作参数进行传递时,结构的所有内容被复制,而对于类,只是复制类的引用,这样就产生了性能损失。根据结构的大小,性能损失也不同。

JeffWong | 园豆:2328 (老鸟四级) | 2015-04-20 11:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册