C# - using System?

3 Antworten

"Console" ist eine statische Klasse, kein Namespace, wie "System".

Das Feature "using-static", das Du ansprichst, gibt es seit C# 6, also seit 2015. Es erlaubt dir, eine Methode im using-Bereich statisch aufzuführen, sodass Du im Code direkt - ohne Klassennamen - auf statische Methoden zugreifen kannst. Der Compiler fügt diesen Klassennamen dann wieder ein.
Die Gefahr bleibt natürlich, dass bei solchem Vorgehen mit mehreren Klassen gleiche Methodennamen zu einem Konflikt führen.

Es ist als Feature nur nebensächlich, nicht notwendig, sondern nur eine Unterstützung für Schreibfaule. Es hat sicher seine Daseinsberechtigung, doch für einen Einsteiger ist es eher unwichtig.
Außerdem beschäftigt sich gerade ein Lehrer nicht Vollzeit mit C#, es kann also gut sein, dass er das Feature gar nicht kannte oder einfach nicht daran gedacht hat.

Ich persönlich stehe dem Feature zwiegespalten gegenüber und würde es daher bei einem solchen Unterricht auch nicht zeigen.
Hauptgrund ist, dass man im Code dann nicht mehr offensichtlich zwischen einer "normalen" Methode und den statisch genutzten Methoden unterscheiden kann. Außerdem ist der Vorteil im Bezug auf die Arbeitsleistung des Entwicklers eher gering, da aktuelle IDEs den Großteil des Code beinahe automatisch einfügen können.

In einzelnen Fällen kann das nützlich sein, doch die Gefahr, dass jemand mit weniger Erfahrung dieses Feature unnötigerweise einsetzt und dabei der Übersichtlichkeit des Codes schadet, ist meiner Meinung nach größer als der Nutzen.

Woher ich das weiß:Berufserfahrung

Na was ist, wenn du zwei verschiedene Sachen static hast und dort dieselben Funktionsnamen vorkommen? 🤣

Es ist einfach unschön.

System.Console() ist eine statische Klasse und kein Namespace