Latest web development tutorials

C # struttura (struct)

In C #, la struttura è un tipo di valore di struttura dati. Permette una singola variabile può memorizzare i dati relativi ai vari tipi di dati.struct parola chiave viene utilizzata per creare una struttura.

Struttura è usato per rappresentare un record. Si supponga di voler monitorare i libri della biblioteca dinamici. Si consiglia di tenere traccia di ogni libro dei seguenti attributi:

  • titolo
  • autore
  • soggetto
  • libro ID

struttura definizione

Per definire una struttura, è necessario utilizzare una dichiarazione struct. dichiarazione struct per il programma definisce un nuovo tipo di dati con più di un membro.

Ad esempio, è possibile dichiarare la seguente struttura maniera libro:

struct libri
{
   titolo public string;
   stringa autore pubblica;
   public string soggetto;
   int libro_id pubblico;
};  

Il seguente programma illustra l'uso della struttura:

using System;
     
struct libri
{
   titolo public string;
   stringa autore pubblica;
   public string soggetto;
   int libro_id pubblico;
};  

public class testStructure
{
   public static void main (string [] args)
   {

      Libri Book1; / * dichiarazione Book1, Tipo di libri * /
      Libri Cartella2; / * dichiarazione Cartella2, Tipo di libri * /

      / * Book 1 dettagliare * /
      Book1.title = "C Programmazione";
      Book1.author = "Nuha Ali"; 
      Book1.subject = "C Programming Tutorial";
      Book1.book_id = 6.495.407;

      / * Prenota 2 Descrizione dettagliata * /
      Book2.title = "Telecom Billing";
      Book2.author = "Zara Ali";
      Book2.subject = "Fatturazione Tutorial Telecom";
      Book2.book_id = 6.495.700;

      / * Stampa informazioni Book1 * /
      Console.WriteLine ( "Libro 1 titolo: {0}", Book1.title);
      Console.WriteLine ( "Book 1 autore: {0}", Book1.author);
      Console.WriteLine ( "Book 1 soggetto: {0}", Book1.subject);
      Console.WriteLine ( "Book 1 libro_id: {0}", Book1.book_id);

      / * Stampa informazioni Cartella2 * /
      Console.WriteLine ( "Book 2 Titolo: {0}", Book2.title);
      Console.WriteLine ( "Book 2 autore: {0}", Book2.author);
      Console.WriteLine ( "Book 2 soggetti: {0}", Book2.subject);
      Console.WriteLine ( "Book 2 libro_id: {0}", Book2.book_id);       

      Console.ReadKey ();

   }
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Libro 1 titolo: C Programming
Book 1 autore: Nuha Ali
Book 1 Oggetto: C Tutorial Programmazione
Book 1 libro_id: 6.495.407
Book 2 Titolo: Telecom Billing
Book 2 autore: Zara Ali
Book 2 Oggetto: Telecom Billing Tutorial
Book 2 libro_id: 6.495.700

Caratteristiche C # Struttura

Hai usato una struttura semplice chiamata Libri di. diverse strutture in C # e la tradizionale struttura del C o C ++. C # nelle caratteristiche di struttura:

  • Struttura può avere metodi, campi, indici, proprietà, operatori, metodi ed eventi.
  • Struttura può essere definita costruttore, ma non si può definire un distruttore. Tuttavia, non è possibile definire un costruttore di default per la struttura. Il costruttore di default viene definito automaticamente e non può essere modificato.
  • A differenza di una classe, struttura non può ereditare da altre strutture o classi.
  • Struttura non può servire come base l'altra struttura o classe.
  • Struttura può implementare una o più interfacce.
  • membro della struttura non può essere designato come l'astratto, virtuale o protetti.
  • Quando si crea un oggetto di configurazione utilizzandol'operatore new, si chiamerà il costruttore appropriato per creare una struttura.A differenza di una classe, le strutture non possono utilizzare l'operatore new per istanziare.
  • Se non si utilizza l'operatore New, solo dopo che tutti i campi vengono inizializzati, il campo è stato solo l'assegnazione, l'oggetto è stato solo per l'uso.

Classe vs struttura

Le classi e le strutture hanno le seguenti differenze di base:

  • Le classi sono tipi di riferimento, la struttura è un tipo di valore.
  • Struttura non supporta l'ereditarietà.
  • Struttura non può dichiarare un costruttore di default.

Per la discussione di cui sopra, cerchiamo di riscrivere l'esempio precedente:

using System;
     
struct libri
{
   Titolo String privato;
   stringa autore privato;
   private string soggetto;
   int libro_id privato;
   getValues ​​public void (stringa t, stringa a, stringa s, int id)
   {
      title = t;
      autore = a;
      = Soggetto s;
      libro_id = id;
   }
   Display public void ()
   {
      Console.WriteLine ( "Titolo: {0}", titolo);
      Console.WriteLine ( "autore: {0}", autore);
      Console.WriteLine ( "Oggetto: {0}", soggetto);
      Console.WriteLine ( "libro_id: {0}", libro_id);
   }

};  

public class testStructure
{
   public static void main (string [] args)
   {

      Libri Book1 = Nuovi (); / * dichiarazione Book1, Tipo di libri * /
      Libri Cartella2 = Nuovi (); / * dichiarazione Cartella2, Tipo di libri * /

      / * Book 1 dettagliare * /
      Book1.getValues ​​( "C Programming",
      "Nuha Ali", "C Programming Tutorial", 6495407);

      / * Prenota 2 Descrizione dettagliata * /
      Book2.getValues ​​( "Telecom fatturazione",
      "Zara Ali", "Telecom Billing Tutorial", 6495700);

      / * Stampa informazioni Book1 * /
      Book1.display ();

      / * Stampa informazioni Cartella2 * /
      Book2.display (); 

      Console.ReadKey ();

   }
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Titolo: C Programming
Autore: Nuha Ali
Oggetto: C Tutorial Programmazione
Libro_id: 6495407
Titolo: fatturazione Telecom
Autore: Zara Ali
Oggetto: Telecom Billing Tutorial
Libro_id: 6495700