Gibt es so etwas wie eine nullable bool in vb.net
Arbeite ich durch meine neue MVC-Buch und natürlich, die samples sind alle in c# als üblich.
Gibt es eine Codezeile, die sagt
public bool? WillAttend { get; set; }
Erklärt der Autor, dass das Fragezeichen gibt an, dass dies eine null - (tri-state) bool kann true, false. oder null. (Eine neue C# 3-übereinkommens.)
Tut vb.net Unterstützung eines übereinkommens werden wie diese. Sicherlich kann ich erklären, ein boolean in vb.net und ich kann explizit den Wert Null (Nothing in vb.net).
Was der Unterschied ist. IST es mehr, um es in c#. Vorteile?
Du musst angemeldet sein, um einen Kommentar abzugeben.
bool?
ist nur ein Kürzel syntax für eine null-Wert geben: alsoNullable<bool>
Boolean?
oderNullable(Of Boolean)
.Können Sie schreiben es so als backing-Eigenschaft:
Oder verwenden Sie einfach einen automatisch implementierte Eigenschaft wie diese:
Können Sie erklären, eine null-Wert 3-Wege-VB:
Weiter Lesen: MSDN - Nullable Value Types (Visual Basic).
Nullables sind verfügbar da .NET 2.0. In dieser version von Microsoft implementiert Generika (Nullable ist ein Generischer Typ). Da .NET 3.0 sind Sie in der Lage zu verwenden ? in VB.NET auch (vorher waren Sie nur in der Lage, die Verwendung von Nullable(of Boolean)).
Also wie gesagt von Lucas Adler in .NET 3.0 sind Sie in der Lage zu verwenden, 3 Deklarationen von nullables, aber in .NET 2.0 nur 1
Nullable ist verwendet auf Werttypen wie int, bools und etc nicht unterstützt null-Zuordnungen. Dies ist in der Regel sehr praktisch, wenn Sie Methoden zurück zahlen. Wenn das Ergebnis für eine Methode ungültig ist, können Sie einfach eine null-int-die auf null gesetzt, anstatt eine negative ganze Zahl, die am Ende als ein gültiges Ergebnis im langen Lauf. Das ist so ziemlich der einzige Vorteil, dass in den Sinn kommt. Andere haben geschrieben, wie dies in VB.NET. Ich gehe nicht in die.