4 Stimmen

Wird die grundlose Verwendung des Schlüsselworts "var" als schädlich angesehen?

Mögliches Duplikat:
Verwendung des Schlüsselworts var in C#

Ich verwende sie fast immer, es sei denn, ich weise die Variable nicht sofort zu, dann ist sie keine Option. Gut oder schlecht?

3voto

Patrick Karcher Punkte 22087

Verwendete implizit typisierte Variablen ( var Schlüsselwort) ist:

  • Großartig : wenn Sie einen anonymen Typ benötigen.
  • Gut : wenn der Typ offensichtlich ist ( var sb = new stringbuilder(); )
  • Schlecht wenn der Typ nicht so offensichtlich ist ( var doc = repo.getdocs("base"); )

Wenn Sie es oft benutzen, ist das wahrscheinlich in Ordnung. Wenn Sie es ständig verwenden, müssen die Leute manchmal nachforschen, um zu sehen, welchen Typ Sie verwenden. Auf dem Ausdruck sollte klar ersichtlich sein, welcher Typ verwendet wird.

0voto

Mark Rushakoff Punkte 236626

Sie müssen Ihr eigenes Gleichgewicht zwischen der Leichtigkeit des Schreibens und der Leichtigkeit des Lesens finden. Zugegeben, Sie können den Mauszeiger über die nächste Verwendung der Variablen bewegen, um den abgeleiteten Typ zu sehen, aber wenn Sie den Code nicht in der IDE lesen, könnte das ein Problem sein.

Ein Sonderfall, auf den ich kürzlich gestoßen bin, war, dass ich versucht habe, bestimmte Instanzen von Foo in meinem Projekt mit Instanzen von Bar (eine verbesserte Foo ). Ich würde ein Find All durchführen für Foo und es stellte sich heraus, dass ich ein paar verpasst hatte, weil ich die var quux = GetSomething() donde GetSomething gibt eine Instanz von Foo . Aber das ist nur ein Einzelfall, und ich würde dem allein nicht allzu viel Bedeutung beimessen, wenn es um die Verwendung von var .

0voto

Francis Punkte 51

Dies ist anscheinend der empfohlene Weg (wenn Sie ein Tool wie Resharper verwenden, schlägt es standardmäßig vor, bestimmte Typen durch "var" zu ersetzen, wo immer dies möglich ist). Ich persönlich bevorzuge die Verwendung spezifischer Typen aus Gründen der Lesbarkeit. Wenn der Code jedoch von guter Qualität ist und die Methoden eine normale Länge haben, bleibt er auch bei Verwendung von "var" lesbar. Hier gibt es eine ausführliche Diskussion zu diesem Thema: Verwendung des Schlüsselworts var in C#

Ansonsten hat die Verwendung von var keine Auswirkungen auf die Leistung (es ist nicht wie bei der Verwendung von 'object' und type casting).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X