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: