Kurze Verwendung von DBNull? (Ternär?)

7

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!

    
bwerks 09.08.2010, 22:54
quelle

4 Antworten

19

Sie könnten Ihre erste Anweisung in

ändern %Vor%     
Jacob 09.08.2010, 22:59
quelle
6

Die Value Eigenschaft ist vom Typ object . Sie sollten also in object , nicht in string :

umwandeln %Vor%     
Mark Byers 09.08.2010 22:59
quelle
6

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?

    
Kelly Adams 09.08.2010 23:15
quelle
3

Was ist mit der Verwendung der ?? Null-Koaleszenz-Operator Weitere Informationen über ?? Betreiber

%Vor%     
elsueco 23.10.2014 17:13
quelle