Verwendung von "as bool?" anstelle von "object something = ViewState [" hi "]"

8

Ich gehe also durch alten Code (2.0) und bin auf folgendes gestoßen:

%Vor%

Mein erster Gedanke war uns das "as" Schlüsselwort, um die unnötigen

zu vermeiden %Vor%

Aber "as" funktioniert nur mit Nicht-Werttypen. Kein Problem, ich ging einfach weiter und tat das:

%Vor%

Die Frage ist: Abgesehen davon, dass es etwas lesbarer aussieht, ist das tatsächlich besser?

BEARBEITEN:

%Vor%

Antwort: Es stellt sich heraus, dass mit den oben genannten Methoden der ursprüngliche Code 10 mal schneller ist.

    
Programmin Tool 20.04.2010, 13:42
quelle

6 Antworten

5

Ich denke, der erste ist besser lesbar, und er ist auch schneller (etwa 10 Nanosekunden gegenüber 100 Nanosekunden, laut einem Test, den ich gerade ausgeführt habe;)) (dh er wird das Programm nicht verlangsamen)]

    
Jimmy 20.04.2010, 13:49
quelle
17

Der Koaleszenzoperator entfernt einen Code für Sie. Um Ihre Frage zu beantworten, wie Jimmy klarstellte, sind die technischen Unterschiede zwischen den beiden sehr gering, also verwenden Sie, was immer Sie für besser halten. Persönlich bin ich geneigt, diese Methode zu verwenden. Ich könnte jedoch als voreingenommen angesehen werden ...

%Vor%     
ChaosPandion 20.04.2010 14:16
quelle
0

Es ist eigentlich ein bisschen schlechter. Wenn der Wert in "IsReviewing" kein bool oder null ist, löst Ihr Code eine Ausnahme aus. Die ursprüngliche Version ignoriert es einfach.

    
Tom Cabanski 20.04.2010 13:45
quelle
0

Zweitens ist besser, denn wenn ViewState ["IsReviewing"] kein Bool ist, wird das Schlüsselwort automatisch auf null gesetzt. In der ersten Option implementieren Sie es selbst, das können Sie nicht tun. Und das Ergebnis in einem guten Behälter.

    
Svisstack 20.04.2010 13:46
quelle
0

Wenn Sie im ersten Beispiel sonst null zurückgegeben haben, warum nicht:

%Vor%     
n535 20.04.2010 13:48
quelle
0

Sie können eine generische Erweiterungsmethode verwenden, um syntaktischen Zucker hinzuzufügen:

%Vor%

Verwendung:

%Vor%     
spoulson 20.04.2010 14:59
quelle

Tags und Links