Der einzige technische Grund, den ich kenne, ist, dass Sie implizite Umwandlungen ohne var
, z.
aber hier bevorzuge ich viel var
, wie es die Besetzung explizit macht; während ich über die Typen nicht so viel Pflege ist mir egal, wenn ich eine Darstellung Wechsel Typumwandlung durchführen werde:
var a = (double)i; // explicit cast with implicit types
Aber wirklich die allgemeine Grund ist die Lesbarkeit, wie Sie gesagt haben. Die Frage, die Sie sich stellen müssen, ist, warum Sie glauben, dass der genaue konkrete Typ für die Lesbarkeit wichtig ist? Schreiben Sie immer Linq-Abfragen, die den konkreten Typ aufrufen, z.
from ItemChange itemChange in ItemChanges
// instead of
from itemChange in ItemChanges
In ähnlicher Weise rufen Sie immer die Typargumente zu generischen Methoden auf, anstatt Typinferenz zu verwenden, z.
ItemChanges.Select<ItemChange, ItemChange>((ItemChange itemChange) => ...);
// instead of
ItemChanges.Select(itemChange => ...);
Oder sind Sie glücklich, den Compiler zu lassen tun einige Arbeit für Sie und lassen Sie es die Typen arbeiten, auch auf die ‚Kosten‘ der nicht die Typinformationen explizit angegeben haben?
Wenn Sie mit Typinterferenzen in Linq und generischen Methoden zufrieden sind, haben Sie bereits entschieden, dass es Ihnen gut geht, dass Sie keine Typen explizit überall angeben, und Sie haben Ihren Code wahrscheinlich nicht gefunden weniger lesbar sein (in der Tat haben Sie wahrscheinlich das Gegenteil gefunden). Die Verwendung von var
ist nur ein weiterer Schritt auf demselben Pfad, auf dem Sie bereits arbeiten.
möglich Duplikat von [Was ist der Sinn des Schlüsselworts var?] (Http://stackoverflow.com/questions/209199/whats-the-point-of-the-var-keyword) –
auch ein Betrüger von: http : //stackoverflow.com/questions/41479/use-of-var-keyword-in-c –