Es scheint, dass es im ternären Operator eine Art von Verwirrung gibt. Ich weiß, dass dies in anderen SO-Threads behandelt wurde, aber es war immer mit NULL-Zeichen. Auch für meinen Fall suche ich wirklich nur nach einem besseren Weg.
Ich würde gerne
verwenden können %Vor%aber stattdessen stehe ich fest:
%Vor%Der ternäre Operator schlägt fehl, da zwischen DBNull und string keine Konvertierung möglich ist, und so albern das ist, wenn man bedenkt, dass Value ein Objekt ist, der Compiler kickt es mir zurück und ich muss mich darum kümmern. Die Antwort auf die NULL-fähige Version dieser Frage besteht darin, NULL einfach in eine Zeichenfolge umzuwandeln und damit fertig zu werden. DBNull kann jedoch nicht in eine Zeichenfolge umgewandelt werden, also kein Glück.
Gibt es einen prägnanteren Weg, dies zu tun (ohne Nullen zu benutzen?).
Danke!
Die Value
Eigenschaft ist vom Typ object
. Sie sollten also in object
, nicht in string
:
Oder Sie könnten eine Erweiterungsmethode hinzufügen wie:
%Vor%Und dann könntest du einfach sagen
%Vor%(Angepasst von Phil Haack )
Lesbar und kurz, nein?
Was ist mit der Verwendung der ?? Null-Koaleszenz-Operator Weitere Informationen über ?? Betreiber
%Vor%Tags und Links c# ado.net ternary-operator dbnull