Erstellen eines Typs im Klassen-Designer, der NULL-Werte zulässt
Bestimmte Werttypen verfügen nicht immer über einen definierten Wert oder benötigen keinen. Dies ist in Datenbanken üblich, in denen möglicherweise einigen Feldern kein Wert zugewiesen wird. Sie können z.B. einem Datenbankfeld einen NULL-Wert zuweisen, um zu zeigen, dass noch kein Wert zugewiesen wurde.
Ein Nullable-Typ ist ein Werttyp, den Sie erweitern, sodass der normale Wertebereich für diesen Typ als auch ein NULL-Wert benötigt werden. Einem Nullable-Typ Int32
, auch bezeichnet als Nullable<Int32>, kann beispielsweise ein beliebiger Wert im Bereich von -2147483648 bis 2147483647 oder ein NULL-Wert zugewiesen werden. Einem Nullable<bool> können die Werte True
, False
oder NULL (kein Wert) zugewiesen werden.
Auf NULL festlegbare Typen sind Instanzen der Nullable<T>-Struktur. Jede Instanz eines Nullable-Typs hat zwei öffentliche schreibgeschützte Eigenschaften HasValue
und Value
:
HasValue
ist vom Typbool
und gibt an, ob die Variable einen definierten Wert enthält.True
bedeutet, dass die Variable einen nicht-NULL-Wert enthält. Sie können mithilfe einer Anweisung wieif (x.HasValue)
oderif (y != null)
auf einen definierten Wert testen.Value
hat denselben Typ wie der zugrunde liegende Typ. WennHasValue
True
ist, enthältValue
einen sinnvollen Wert. WennHasValue
False
ist, wird der Zugriff aufValue
eine ungültige Operationsausnahme auslösen.
Beim Deklarieren einer Variablen als Nullable-Typ verfügt sie standardmäßig über keinen definierten Wert (HasValue
ist False
) als der Standardwert des ihr zugrunde liegenden Werttyps.
Der Klassen-Designer zeigt einen Nullable-Typ so an wie den zugrunde liegenden Typ.
Weitere Informationen zu Typen in C#, die NULL-Werte zulassen, finden Sie unter Nullable-Typen (C#-Programmierhandbuch). Weitere Informationen zu Nullable-Typen in Visual Basic finden Sie unter Auf NULL festlegbare Werttypen.
Hinweis
Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in diesem Artikel. Möglicherweise verwenden Sie eine andere Edition von Visual Studio oder andere Umgebungseinstellungen. Weitere Informationen finden Sie unter Personalisieren der IDE.
Hinzufügen eines Nullable-Typs mithilfe des Klassen-Designers
Erweitern Sie im Klassendiagramm eine vorhandene Klasse, oder erstellen Sie eine neue Klasse.
Klicken Sie im Menü Klassendiagramm auf Hinzufügen>Klasse hinzufügen, um dem Projekt eine Klasse hinzuzufügen.
Klicken Sie im Menü Klassendiagramm auf Erweitern, um die Klassenform zu erweitern.
Wählen Sie die Klassenform aus. Klicken Sie im Menü Klassendiagramm auf Hinzufügen>Feld. Ein neues Feld mit den Standardnamen Feld wird in der Klassenform und auch im Fenster Klassendetails angezeigt.
Ändern Sie in der Spalte Name im Fenster Klassendetails (oder in der Klassenform selbst) den Namen des neuen Felds in einen gültigen und aussagekräftigen Namen.
Deklarieren Sie den Typ in der Spalte Typ im Fenster Klassendetails wie im Folgenden dargestellt als Nullable-Typ:
int?
(Visual C#)Nullable(Of Integer)
(Visual Basic)
Hinzufügen eines Nullable-Typs mithilfe des Code-Editors
Fügen Sie dem Projekt eine Klasse hinzu. Wählen Sie im Projektmappen-Explorer einen Projektknoten aus und klicken Sie dann im Menü Projekt auf Klasse hinzufügen.
Fügen Sie in der CS- oder VB-Datei für die neue Klasse eine oder mehrere Nullable-Typen in der Klassendeklaration hinzu.
Ziehen Sie das Klassensymbol in der Klassenansicht zur Entwurfsoberfläche des Klassen-Designers. Eine Klassenform wird im Klassendiagramm angezeigt.
Erweitern Sie die Details für die Klassenform, und bewegen Sie den Mauszeiger über die Klassenmember. Die QuickInfo zeigt die Deklaration der einzelnen Member.
Klicken Sie mit der rechten Maustaste auf Klassenform und auf Klassendetails. Sie können die Eigenschaften des neuen Typs im Fenster Klassendetails anzeigen oder ändern.