En Visual Studio C#, un tipo struct es una construcción de programación utilizado para definir tipos personalizados.  Los tipos struct se usan para encapsular pequeños grupos de variables relacionadas y representadas como un solo elemento. Dicho esto, podemos señalar algunos ejemplos útiles que nos ayudaran a entender más este concepto. Algunas modelos de estructuras son:

*Una estructura llamada Bibliografía podría constar con campos como autor, título del libro, año de publicación.

*Una estructura llamada Rectángulo, podría constar de campos como base y altura.

*Una estructura llamada Color, podría constar de campos para representar un componente Rojo, un componente Verde, y un componente Azul.

La mayoría de los tipos integrados en Visual C#, tales como int, bool o char, están definidos por estructuras. Podemos utilizar estructuras para crear nuestros propios tipos que se comporten como los tradicionales(integrados).

Para crear una estructura utilizamos la palabra mágica struct, las estructuras pueden hacer lo mismo que una clase, pero funcionan de manera diferente, algunos dirían ¨menos exigente¨, en otras palabras, es una estructura de datos simple. La razón de esto es un poquito técnica, pero la forma simple de explicarlo, se resume a que, con las estructuras usted no estará lidiando con referencias, como en el caso de las clases, sino más bien con la instancia de la estructura.

Esto quiere decir que, cuando se pasa una estructura a una función es el valor, en lugar de la referencia. Por tanto, debemos usarlas cuando queremos, primero: representar estructuras de datos simples y, segundo: cuando estamos seguros de que vamos a instanciar muchas de ellas.

Convirtiendo en Código

magic-wand

En el ejemplo siguiente, se inicializa struct con la palabra clave new, se llama al constructor predeterminado sin parámetros y, a continuación, se establecen los miembros de la instancia.

CODIGO1

Resultado

Cuando se compila y ejecuta el código anterior, el resultado muestra que las variables struct se inicializan de manera predeterminada. La variable int se inicializa en 0 y la variable string se inicializa en una cadena vacía.

C2

Otro Ejemplo:

Inicializamos la estructura Coord, con las variables x & y con la palabra struct, le asignamos el modificador de acceso public. Además de esto, visualizamos que no es necesario usar el operador new.

C3

 

C4

Recordatorios Importantes:

light-bulb

 

 

La palabra clave struct puede ser precedida por un modificador de acceso. En la declaración podemos utilizar los siguientes modificadores de acceso. public, hace que le tipo esté disponible para el código de cualquier Assembly. internal, solo estará disponible dentro del mismo Assembly. y por último, private, lo que permite que el código solo esté disponible dentro de la estructura de datos que contiene. Este último es únicamente utilizado con estructuras anidadas.

  • Los struct son de tipo valor y las clases son tipo referencias.
  • Las estructuras pueden tener métodos, propiedades, operadores, eventos.
  • Pueden tener definidos constructores, pero no destructores. Sin embargo, este constructor es definido por defecto y no puede ser cambiado.
  • Una estructura puede implementar una o más interfaces.
  • Los miembros de una estructura no pueden ser especificados como abstract, virtualprotected.
  • Las estructuras no pueden ser heredadas, así como tampoco, pueden heredar.

 

Este es solo un articulo introductorio sobre estructuras implementadas en C#, donde espero que hayan quedado claro los conceptos expuestos. Si te ha gustado no olvides compartirlo y dejarme saber tu opinión.