Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
Struttura Nullable(T)
Collapse the table of content
Expand the table of content
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Struttura Nullable(T)

Rappresenta un tipo di valore a cui può essere assegnato riferimento null (Nothing in Visual Basic).

Spazio dei nomi:  System
Assembly:  mscorlib (in mscorlib.dll)

[<Sealed>]
[<SerializableAttribute>]
type Nullable<'T when 'T : struct> =  struct end

Parametri di tipo

T

Il tipo di valore sottostante del tipo generico Nullable(T).

Il tipo Nullable(T) espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreNullable(T) Inizializza una nuova istanza della struttura Nullable(T) al valore specificato.
In alto

  NomeDescrizione
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreHasValue Ottiene un valore che indica se l'oggetto Nullable(T) corrente ha un valore.
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreValue Ottiene il valore dell'oggetto corrente Nullable(T).
In alto

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEqualsIndica se l'oggetto Nullable(T) corrente è uguale a un oggetto specificato. (Esegue l'override di ValueType.Equals(Object)).
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetHashCodeRecupera il codice hash dell'oggetto restituito dalla proprietà Value. (Esegue l'override di ValueType.GetHashCode()).
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetValueOrDefault()Recupera il valore dell'oggetto Nullable(T) corrente o il valore predefinito dell'oggetto.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetValueOrDefault(T)Recupera il valore dell'oggetto Nullable(T) corrente o il valore predefinito specificato.
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToString Restituisce la rappresentazione in forma di testo del valore dell'oggetto Nullable(T) corrente. (Esegue l'override di ValueType.ToString()).
In alto

  NomeDescrizione
Operatore pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreExplicit(Nullable(T) to T)Restituisce il valore di un valore Nullable(T) specificato.
Operatore pubblicoMembro staticoSupportato da XNA FrameworkSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreImplicit(T to Nullable(T)) Crea un nuovo oggetto Nullable(T) inizializzato ad un valore specificato.
In alto

Un tipo viene definito nullable se è possibile assegnare a esso un valore o riferimento null (Nothing in Visual Basic), che significa che il tipo non presenta alcun valore. Per impostazione predefinita, tutti i tipi di riferimento, come String, sono nullable, ma tutti i tipi di valore, come Int32, non lo sono.

In C# e in Visual Basic, si contrassegna un tipo di valore come nullable utilizzando la notazione ? dopo il tipo di valore. Ad esempio, int? in C# o Integer? in Visual Basic dichiara un tipo di valore intero a cui può essere assegnato riferimento null (Nothing in Visual Basic).

La struttura Nullable(T) supporta l'utilizzo di un solo tipo di valore come tipo nullable poiché i tipi di riferimento sono nullable da progettazione.

La classe Nullable fornisce supporto aggiuntivo per la struttura Nullable(T). Grazie alla classe Nullable è possibile ottenere il tipo sottostante di un tipo nullable, nonché eseguire operazioni di confronto e uguaglianza su coppie di tipi nullable il cui valore sottostante non supporta operazioni generiche di confronto e uguaglianza.

Proprietà fondamentali

I due membri fondamentali della struttura Nullable(T) sono le proprietà HasValue e Value. Se la proprietà HasValue per un oggetto Nullable(T) è true, è possibile accedere al valore dell'oggetto con la proprietà Value. Se la proprietà HasValue è false, il valore dell'oggetto non viene definito e il tentativo di accesso alla proprietà Value genera un'eccezione InvalidOperationException.

Boxing e unboxing

Quando si esegue il boxing di un tipo nullable, il Common Language Runtime esegue automaticamente il boxing del valore sottostante dell'oggetto Nullable(T), non dell'oggetto Nullable(T) stesso. Se, pertanto, la proprietà HasValue ha valore true, il contenuto della proprietà Value viene sottoposto a boxing. Quando il valore sottostante di un tipo nullable viene sottoposto a unboxing, il Common Language Runtime crea una nuova struttura Nullable(T) inizializzata in base al valore sottostante.

Se il valore della proprietà HasValue di un tipo nullable è false, il risultato di un'operazione di boxing sarà riferimento null (Nothing in Visual Basic). Di conseguenza, se un tipo nullable boxed viene passato a un metodo che prevede un oggetto come argomento, sarà necessario preparare tale metodo per gestire i casi in cui l'argomento è riferimento null (Nothing in Visual Basic). Quando riferimento null (Nothing in Visual Basic) è unboxed in un tipo nullable, il Common Language Runtime crea una nuova struttura Nullable(T) e inizializza la relativa proprietà HasValue a false.

.NET Framework 4.5.1 e componenti runtime di windows

A partire da .NET Framework 4.5.1, è possibile includere un tipo di Nullable(T) come membro di una struttura esportata in una libreria di WinMD. In precedenza, questo non è stato supportato.

Nell'esempio di codice riportato di seguito vengono definite tre righe di una tabella nel database di esempio Microsoft Pubs. La tabella contiene due colonne non nullable e due colonne nullable.

Non sono attualmente disponibili esempi di codice o questo linguaggio potrebbe non essere supportato.

.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft