Latest web development tutorials

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