调用非托管 DLL 时会用到。
你不说我还忘了,好像从学C#以来,只有上次用SendInput的时候用结构定义过。。
确实,现在很少用到结构了。
我也有时心血来潮的想用结构,最终又改回了类。
不过呢,使用结构有很多好处,最关键的就是轻量级数据对象。其次,就是数据安全,不用担心被他人改了,因为要授权(需要引用参数传递)。
结构是值类型,为结构分配内存时,速度非常快,因为它们将内联或者保持在堆栈上。在结构超出了作用域被删除时,速度也很快(因为只要移动指针即可从堆栈中回收内存),不需要GC的自动回收管理。结构主要用于小的数据结构,性能要求较高的时候,结构是你的最好选择。但是,结构不适合进行参数传递,因为将结构当作参数进行传递时,结构的所有内容被复制,而对于类,只是复制类的引用,这样就产生了性能损失。根据结构的大小,性能损失也不同。