C # estructura (struct)
En C #, la estructura es un tipo de valor de estructura de datos. Se permite que una sola variable puede almacenar los datos relativos a diversos tipos de datos. palabra clavestruct se utiliza para crear una estructura.
Estructura se utiliza para representar un registro. Supongamos que desea realizar un seguimiento de los libros de bibliotecas dinámicas. Es posible que desee realizar un seguimiento de cada libro de los siguientes atributos:
- título
- autor
- sujeto
- Identificación libro
estructura de definición
Para definir una estructura, debe utilizar una declaración struct. declaración struct para el programa define un nuevo tipo de datos con más de un miembro de.
Por ejemplo, se puede declarar la estructura siguiente manera del libro:
struct Libros { Título de la cadena pública; autor cadena pública; sujetos cadena pública; book_id int pública; };
El programa siguiente demuestra el uso de la estructura:
using System; struct Libros { Título de la cadena pública; autor cadena pública; sujetos cadena pública; book_id int pública; }; testStructure clase pública { public static void main (String [] args) { Libros Libro1; / * declaración Libro1, tipo libro * / Libros Libro2; / * declaración Libro2, tipo libro * / / * 1 libro que detalla * / Book1.title = "Programación C"; Book1.author = "Nuha Ali"; Book1.subject = "C Programming Tutorial"; Book1.book_id = 6495407; / * Libro 2 de descripción detallada * / Book2.title = "Facturación Telecom"; Book2.author = "Zara Ali"; Book2.subject = "Tutorial facturación de telecomunicaciones"; Book2.book_id = 6495700; / * * Imprimir la información del Libro1 / Console.WriteLine ( "Libro 1 título: {0}", Book1.title); Console.WriteLine ( "Libro 1 author: {0}", Book1.author); Console.WriteLine ( "Libro 1 sujeto: {0}", Book1.subject); Console.WriteLine ( "Libro 1 book_id: {0}", Book1.book_id); / * * Imprimir información Libro2 / Console.WriteLine ( "Libro 2 del título: {0}", Book2.title); Console.WriteLine ( "Libro 2 author: {0}", Book2.author); Console.WriteLine ( "Libro 2 sujetos: {0}", Book2.subject); Console.WriteLine ( "Libro 2 book_id: {0}", Book2.book_id); Console.ReadKey (); } }
Cuando el código se compila y ejecuta, produce los siguientes resultados:
Libro 1 título: C Programación Libro 1 Autor: Ali Nuha Libro 1 Asunto: Tutorial de programación C Libro 1 book_id: 6495407 Libro 2 del título: Telecom facturación Libro 2 Autor: Zara Ali Libro 2 sujetos: Tutorial de facturación Telecom Libro 2 book_id: 6495700
Características de C # Estructura
Ha utilizado una estructura simple llamada de Libros. Diferentes estructuras en C # y la estructura tradicional de la C o C ++. C # en las características de la estructura:
- Estructura puede tener métodos, campos, índices, propiedades, operadores, métodos y eventos.
- La estructura puede ser definida constructor, pero no se puede definir un destructor. Sin embargo, no se puede definir un constructor predeterminado para la estructura. El constructor por defecto se define automáticamente y no se puede cambiar.
- A diferencia de una clase, la estructura no puede heredar de otras estructuras o clases.
- La estructura no puede servir de base La otra estructura o clase.
- La estructura puede implementar una o más interfaces.
- miembro de estructura no puede ser designado como el resumen, virtual o protegido.
- Cuando se crea un objeto de configuración usandoel operador New,se llamará al constructor apropiado para crear una estructura. A diferencia de una clase, las estructuras no pueden utilizar el operador new para crear una instancia.
- Si no se utiliza el operador New, sólo después de que todos los campos se inicializan, el campo era única tarea, el objeto era sólo para su uso.
Clase vs estructura
Las clases y estructuras tienen las siguientes diferencias básicas:
- Las clases son los tipos de referencia, la estructura es un tipo de valor.
- La estructura no soporta la herencia.
- La estructura no puede declarar un constructor por defecto.
Para la discusión anterior, vamos a reescribir el ejemplo anterior:
using System; struct Libros { Título de la cadena privada; autor cadena privada; sujetos cadena privada; book_id int privado; getValues public void (cadena t, secuencia a, String s, int id) { title = t; Author = a; = S sujetos; book_id = id; } public void display () { Console.WriteLine ( "Título: {0}", título); Console.WriteLine ( "Autor: {0}", autor); Console.WriteLine ( "Subject: {0}", tema); Console.WriteLine ( "Book_id: {0}", book_id); } }; testStructure clase pública { public static void main (String [] args) { Libros nuevos Libros Libro1 = (); / * declaración Libro1, tipo libro * / Libros nuevos Libros Libro2 = (); / * declaración Libro2, tipo libro * / / * 1 libro que detalla * / Book1.getValues ( "Programación C", "Nuha Ali", "Programación C Tutorial", 6495407); / * Libro 2 de descripción detallada * / Book2.getValues ( "Telecom facturación", "Zara Ali", "Tutorial Telecom facturación", 6495700); / * * Imprimir la información del Libro1 / Book1.display (); / * * Imprimir información Libro2 / Book2.display (); Console.ReadKey (); } }
Cuando el código se compila y ejecuta, produce los siguientes resultados:
Título: Programación C Autor: Ali Nuha Asunto: Tutorial de programación C Book_id: 6495407 Título: Facturación Telecom Autor: Zara Ali Tutorial de facturación Telecom: Asunto Book_id: 6495700