Me pregunto por qué necesitamos struct si class puede hacer todo struct can y más? poner tipos de valor en clase no tiene ningún efecto secundario, creo.C# ¿por qué necesita struct si la clase puede cubrirlo?
EDIT: no puede ver ningún fuertes razones para utilizar struct
A struct es similar a una clase, con las siguientes diferencias clave:
- A struct es un tipo de valor, mientras que una clase es un tipo de referencia.
- Una estructura no admite la herencia (que no sea derivada implícitamente del objeto ).
- Una estructura puede tener todos los miembros de una clase puede, excepto los siguientes:
- Un constructor sin parámetros
- un finalizador
- miembros virtuales
Una estructura se utiliza en lugar de una clase cuando la semántica del tipo de valor es deseable. Buenos ejemplos de estructuras son tipos numéricos, donde es más natural que la asignación copie un valor en lugar de una referencia. Como una estructura es un tipo de valor, cada instancia no requiere creación de instancias de un objeto en el montón. Esto puede ser importante al crear muchas instancias de un tipo.
Su pregunta está bastante bien cubierta aquí: http://stackoverflow.com/questions/13049/whats-the-difference-between-struct-and-class-in-net –
¿Por qué hay una respuesta editada en el ¿pregunta? –
posible duplicado de [¿Por qué necesitamos struct? (C#)] (http://stackoverflow.com/questions/1216993/why-do-we-need-struct-c) – nawfal