2010-11-18 3 views

Antwort

13

Warum würden Sie das wollen? Nichtwerttypen (d. H. Referenztypen) können bereits festgelegt und mit null verglichen werden.

eine Nullable<T> Wrapper über Referenzförmigen Gegenstände Hinzufügen würde zwei Schichten von NULL-Zulässigkeit schaffen; sinnlose Komplexität, daher ist es nicht erlaubt.

+1

Halb versucht, diese Frage "duh" zu speichern. –

+1

Nun, das könnte der Grund sein, warum das Googeln "Referenztypen nullbar machen" nichts ergab. Vielen Dank! – user500038

0

wilde Beute:

public class Stereo { 
    public Speaker LeftSpeaker; 
    public int? Volume; 

    public Stereo() { 
     LeftSpeaker = null; // Mission accomplished. 
    } 
} 
+0

@Noldorin: wops. etwas verpasst() 'habe ich nicht? –

+0

Ja, aber ich würde es für dich reparieren, da es ein offensichtlicher Tippfehler war. :) – Noldorin

+0

@Noldorin: Kein Schweiß. Ich habe in den letzten paar Tagen Massen in Dummy-Klassen produziert, also ist mein Gehirn einfach glänzend :) –

2

Es ist einfach. "Nicht-Wert" -Typen werden in .NET als Verweistypen bezeichnet und sind automatisch nullfähig. Ändern Sie einfach den Code so:

public class Stereo { 
    public Speaker LeftSpeaker; // ? removed for ref type 
    public int? Volume; 
} 
0

Viele Fische schon hier - aber wenn Sie lernen möchten, wie man Fisch, schlage ich vor, einen Blick in Jon Skeet ‚s Buch C# in Depth haben. Die Kapitel 4.1 bis 4.5 beschäftigen sich mit allen Facetten des "Nichtigkeitskonzepts" in C#.

Verwandte Themen