nullable



  • was kann ich machen wenn ich ein element habe dessen inhalt noch undefiniert ist?

    eine einfache zuordnung wie in java =null geht in c# irgendwie nicht
    und mit nullables zu arbeiten ist doch auch nicht das wahre oder?



  • helfen(du , mir) schrieb:

    was kann ich machen wenn ich ein element habe dessen inhalt noch undefiniert ist?

    eine einfache zuordnung wie in java =null geht in c# irgendwie nicht
    und mit nullables zu arbeiten ist doch auch nicht das wahre oder?

    Sagt nicht nullable genau das aus? Eben das der Typ auch null sein darf? Warum sollte das also der falsche Weg sein.

    Umgekehrt einem Typ, der nicht null sein darf null zuzuweisen ist ein eindeutiger Fehler, oder?

    Bei nicht-nullable Typen gibts doch meistens ein static Empty-Object statt dessen...

    z.B.
    String.Empty
    Integer.Zero

    usw...



  • Ein bisschen mehr Informationen wäre schon nicht schlecht. Ansonsten ist der Ansatz Nullable<T>, bei Typen die sonst kein null zulassen, zu verwenden nicht unbedingt die schlechteste Idee.



  • loks schrieb:

    Bei nicht-nullable Typen gibts doch meistens ein static Empty-Object statt dessen...

    z.B.
    String.Empty
    Integer.Zero

    usw...

    String.Empty ist aber was anderes als null, ein Leerstring eben, das String-Objekt ist aber existent.
    Ausserdem kann man einen String auch null setzten:

    String s = null;
    

    Und wenn man mal Typen hat, die nicht null sein können, gibt's auch noch das Fragezeichen:

    UInt32? x= null;
    

Anmelden zum Antworten