2010-12-17 77 views
2

我已经习惯于声明结构嵌套在类中,我使用它们是因为这是我第一次了解结构时学会如何使用它们的。嵌套C#中的结构好坏

如果一个结构几乎就像C#中的一个类,那么我不应该在一个单独的文件中声明结构而不是嵌套在另一个类中?

回答

2

当嵌套的struct/class只与外部结构体/类一起使用时,嵌套的结构体以及嵌套类是很好的,就像它是结构体/类的成员属性的类型一样,或者只用于内部。

请注意,对于嵌套很多的结构是一个警告标志,您应该考虑使用类来代替。由于MSDN(struct)笔记。

除非需要引用类型语义,否则系统可以更有效地将小于16字节的类作为结构进行处理。

而另一种方式,如果你的结构嵌套结构增长方式超过16字节,你应该考虑使用类,除非你需要通过值传递语义。

5

如果结构纯粹是一个类的实现细节,那么在类中声明结构是非常合理的。由于这个原因,我在其他类中声明了结构体(和类!)。

0

这取决于。

如果他们都有一个共同的主题,也许把他们放在一个合适的名称文件将是一个好主意。否则,如果他们只是一个类的细节,我会把它们放在类的最后,就在子类之前(如果有的话)。