Diferencia entre Class y Struct¶
Fuentes¶
La primera gran diferencia es que las clases son tipo referencia mientras que las structs son tipo valor.
Algunas diferencias¶
Nota
En geekswithblogs.net hay un articulo mucho mas completo.
Feature |
Struct |
Class |
Notes |
---|---|---|---|
Is a reference type? |
No |
Yes |
|
Is a value type? |
Yes |
No |
|
Can have nested Types |
Yes |
Yes |
|
(enum, class, struct)? |
|||
Can have constants? |
Yes |
Yes |
|
Can have fields? |
Yes |
Yes |
Campos de instancia estructura no se |
Can have properties? |
Yes |
Yes |
|
Can have indexers |
Yes |
Yes |
|
Can have methods |
Yes |
Yes |
|
Can have Events |
Yes |
Yes |
Las estructuras, al igual que las |
Can have static members |
Yes |
Yes |
|
(constructors, fields, |
No |
Yes |
Las clases pueden heredar de otras |
Can implement interfaces? |
Yes |
Yes |
|
Can overload constructor? |
No |
Yes |
Sobrecarga de estructura del |
Can define default |
No |
Yes |
El constructor predeterminado |
Can overload operators? |
Yes |
Yes |
|
Can be generic? |
Yes |
Yes |
|
Can be partial? |
Yes |
Yes |
|
Can be sealed? |
Always |
Yes |
Las estructuras siempre están |
Can be referenced in instance |
Yes |
Yes |
|
members using this |
No |
Yes |
Clases de C # deben instanciar |