Cast eine null in sowas???

Hatte ich diese interessante Diskussion heute mit einem Kollegen. Wir waren debattieren zwei Stücke von code in C#.

Code-Snippet 1:

if(!reader.IsDBNull(2))
{
  long? variable1 = reader.GetInt64(2)
}

Code-Snippet 2:

long variable1 = reader.IsDBNull(2) ? (long?) null : reader.GetInt64(2)

Frage ist: ist es eine gute Praxis, cast null in eine null-lange? Oder würden Sie lieber die traditionellen if-Anweisung zu vermeiden, casting null zu nullable lange.

Auch der cast ist für den Bedingten Operator, den Sie verwenden, müssen Sie den return-Typ der Filialen ähnlich sein und snippet2 ist compiler-Fehler, den Sie benötigen, um zu sein long? variable1
Als V4Vendetta sagte, in Ihrem zweiten Ausschnitt Ihres lh-und rh-Typen sind unterschiedlich.
In snippet1, variable1 existiert nur innerhalb der if's scope.

InformationsquelleAutor Bull | 2012-05-17

Schreibe einen Kommentar