En C#, las dos categorías de tipos principales son tipos de valor (como estructuras) y tipos de referencia (como clases). Debido a que una estructura (o struct) es un tipo de valor, está centrada en los datos.
Una estructura puede almacenar atributos y métodos relacionados que, preferiblemente, no se enfocan en el comportamiento.
Cómo declarar una estructura
Cada declaración de estructura debe tener el estructura palabra clave. Preceda la palabra clave struct con un modificador de acceso e incluya un nombre y un par de llaves después. Aquí se explica cómo declarar una estructura llamada Juego:
público juego de estructura {}
Cómo rellenar una estructura
Una estructura almacena datos entre llaves, en forma de atributos, constructores, métodos, eventos, etc.
público juego de estructura
{
público nombre de cadena;
público descripción de la cadena;
públicoEn t niveles;públicoJuego(nombre de la cadena, descripción de la cadena, En t niveles){
este.nombre = nombre;
este.descripción = descripción;
este.niveles = niveles;
}
cadena de anulación pública ToString() => $"Nombre: {name}, Descripción: {description}, Niveles: {levels}";
}
La estructura Game ahora tiene tres atributos, un constructor y un método. Estos son los tres componentes principales de una estructura de C#, que también son tres de los componentes principales de una Clase C#.
Cómo crear una variable de estructura
Cada instancia de una estructura de C# se conoce como variable. Hay dos formas de crear un variable de una estructura. Puedes usar un constructor:
Juego juego1 = nuevo Juego("Pokélun IR", "Lorem ipsum dolor siéntate amet.", 50);
O puede asignar valores a atributos individuales de una estructura usando el operador de punto (.):
juego juego1;
juego1.nombre = "Pokélun IR";
juego1.descripcion = "Lorem ipsum dolor siéntate amet.";
juego1.niveles = 50;
Ambos enfoques logran el mismo resultado. El código anterior usa C# para desarrollar un objeto de juego llamado Pokémon GO que tiene una breve descripción y 50 niveles. Entonces, ahora puedes usar el objeto game1.
Consola.Línea de escritura(juego1.Encadenar());
Esto imprime el siguiente resultado en la consola:
Nombre: Pokémon GO, Descripción: Lorem ipsum dolor sit amet., Niveles: 50
Las diferencias entre una estructura y una clase
Una estructura y una clase tienen una apariencia similar, pero tienen muchas diferencias notables. Utilizan diferentes palabras clave para la declaración. Y las estructuras no admiten referencias nulas ni herencia.