Condividi tramite


Valori predefiniti dei tipi C# (riferimento C#)

La tabella seguente mostra i valori predefiniti dei tipi C#:

Digitare Valore predefinito
Qualsiasi tipo di riferimento null
Qualsiasi tipo numerico integrale predefinito 0 (zero)
Qualsiasi tipo numerico a virgola mobile predefinito 0 (zero)
bool false
char '\0' (U+0000)
enumerazione Valore generato dall'espressione (E)0, dove E è l'identificatore di enumerazione.
struct Valore generato impostando tutti i campi di tipo valore sui valori predefiniti e tutti i campi di tipo riferimento su null.
Qualsiasi tipo di valore annullabile Istanza per la quale la proprietà HasValue è false e la proprietà Value non è definita. Tale valore predefinito è noto anche come valore null di un tipo di valore nullable.

Espressioni di valore predefinite

Usare l'operatore default per produrre il valore predefinito di un tipo, come illustrato nell'esempio seguente:

int a = default(int);

È possibile utilizzare il letterale default per inizializzare una variabile con il valore predefinito del suo tipo.

int a = default;

Costruttore senza parametri di un tipo di valore

Per un tipo valore, il costruttore implicito senza parametri produce anche il valore predefinito del tipo, come illustrato nell'esempio seguente.

var n = new System.Numerics.Complex();
Console.WriteLine(n);  // output: (0, 0)

In fase di esecuzione, se l'istanza di System.Type rappresenta un tipo valore, è possibile usare il metodo Activator.CreateInstance(Type) per richiamare il costruttore senza parametri per ottenere il valore predefinito del tipo.

Nota

Un tipo di struttura (che è un tipo di valore) può avere un costruttore esplicito senza parametri che può produrre un valore non predefinito del tipo. È quindi consigliabile usare l'operatore default o il valore letterale default per produrre il valore predefinito di un tipo.

Specifica del linguaggio C#

Per altre informazioni, vedere le sezioni seguenti della specifica del linguaggio C# :

Vedere anche