2010-12-17 96 views
2

我已經習慣於聲明結構嵌套在類中,我使用它們是因爲這是我第一次瞭解結構時學會如何使用它們的。嵌套C#中的結構好壞

如果一個結構幾乎就像C#中的一個類,那麼我不應該在一個單獨的文件中聲明結構而不是嵌套在另一個類中?

回答

2

當嵌套的struct/class只與外部結構體/類一起使用時,嵌套的結構體以及嵌套類是很好的,就像它是結構體/類的成員屬性的類型一樣,或者只用於內部。

請注意,對於嵌套很多的結構是一個警告標誌,您應該考慮使用類來代替。由於MSDN(struct)筆記。

除非需要引用類型語義,否則系統可以更有效地將小於16字節的類作爲結構進行處理。

而另一種方式,如果你的結構嵌套結構增長方式超過16字節,你應該考慮使用類,除非你需要通過值傳遞語義。

5

如果結構純粹是一個類的實現細節,那麼在類中聲明結構是非常合理的。由於這個原因,我在其他類中聲明瞭結構體(和類!)。

0

這取決於。

如果他們都有一個共同的主題,也許把他們放在一個合適的名稱文件將是一個好主意。否則,如果他們只是一個類的細節,我會把它們放在類的最後,就在子類之前(如果有的話)。