Condividi tramite


Strutture (Guida per programmatori C#)

Aggiornamento: novembre 2007

Per la definizione delle strutture viene utilizzata la parola chiave struct, ad esempio:

public struct PostalAddress
{
    // Fields, properties, methods and events go here...
}

Le strutture condividono la maggior parte della sintassi delle classi, sebbene le prime siano più limitate rispetto alle seconde:

  • All'interno di una dichiarazione di struttura, i campi non possono essere inizializzati se non sono stati dichiarati come const o static.

  • In una struttura è possibile non dichiarare un distruttore o un costruttore predefinito, ovvero un costruttore senza parametri.

  • Le strutture non possono ereditare da classi o da altre strutture.

  • Le strutture vengono copiate su assegnazione. Quando una struttura viene assegnata a una nuova variabile, vengono copiati tutti i dati e qualsiasi modifica alla nuova copia non causa la modifica dei dati nella copia originale.

  • Le strutture sono tipi di valore, mentre le classi sono tipi di riferimento.

  • A differenza delle classi, è possibile creare istanze di strutture senza utilizzare l'operatore new.

  • Le strutture possono dichiarare costruttori con parametri.

  • Una struttura non può ereditare da un'altra struttura o da un'altra classe né può costituire la base di una classe. Tutte le strutture ereditano direttamente da System.ValueType, che eredita da System.Object.

  • Una struttura può implementare interfacce.

  • È possibile assegnare un valore null a una struttura che può essere utilizzata come tipo nullable.

Sezioni correlate

Ulteriori informazioni:

Vedere anche

Concetti

Guida per programmatori C#

Progettazione di strutture

Riferimenti

Classi e strutture (Guida per programmatori C#)

Classi (Guida per programmatori C#)