"Neues" C#?
Hallo zusammen,
ich habe früher mal damit begonnen die Programmiersprache C# zu lernen, aber es dann wieder abgrebrochen weil ich mich zu C umenschieden habe. Jedenfalls habe ich noch in Erinnerung das es bei C# sehr viel Code war um ein einfaches "Hello World" zu bekommen.
Heute möchte ich wieder damit starten C# zu lernen, da man mit dieser Programmiersprache einfacher Spiele programmieren kann :) (Mit C hatte ich edliche Programme geschrieben, die einem das arbeiten am Computer vereinfachen sollten). Jetzt aber der große Schock - In Visual Studio 2022 ist der Code viel viel viel... kürzer als früher! Nur eine Zeile! Und da viele Crashcourse auf YouTube (Ich lerne durch Crashcourse sehr gut!!) alle noch das "alte" C# behandelten, war es für mich um so schwerer, die besagte Programmiersprache zu lernen! Denn manche Befehle funktionierten nicht wie früher.
Hat jemand eine Lösung? Gibt es neue Crash Course zu C#? Vielleicht das .Net Framework wechseln, weil ich bei Microsof gelsen habe das die das beim .Net 6 geändert haben?
Liebe Grüße
4 Antworten
Du kannst es nach wie vor nach der alten Methode schreiben.
Die neue ist einfach nur, dass du keine Main Class mehr hast wie früher und daher direkt mit dem Code starten kannst. Aber du kannst auch ganz normal eine Main Klasse schreiben. Von der Performance oder dergleichen macht das keinen Unterschied.
Am besten hier
https://dotnet.microsoft.com/en-us/learn/csharp
Und ja, C# wird kontinuierlich weiterentwickelt und das ziemlich schnell
Gerne, würde mich über eine Hilfreichste Antwort freuen wenn es geholfen hat :) Sollte in ein paar Tagen in den Benachrichtigungen hier auftauchen
Deutsche Tutorials gibt es hier
bei C# sehr viel Code war um ein einfaches "Hello World" zu bekommen
Nö :P
Naja, man braucht etwas Infrastruktur-Code, das stimmt schon. Usings, Namespace, Program-Klasse, Main-Methode, HelloWorld-Code - wobei das Namespace optional ist und Usings eigentlich auch.
Das war aber alles im Template enthalten, Du musstest also nur eine Zeile schreiben.
Heute sieht das anders aus, es gibt ein paar neue Features, die fast alles überflüssig machen und so sind dann auch die Templates aufgebaut. Weg ist das aber nicht, es wird nur automatisch vom Compiler dazu generiert.
In Visual Studio 2022 ist der Code viel viel viel... kürzer als früher! Nur eine Zeile!
Das meine ich - nennt sich "Top Level Statements" und das Fehlen der häufigsten Usings heißt "Implicit Usings", das wird dann einfach alles generiert.
Relevant ist das aber kaum, da 99,99...999% der Programme zu groß werden - und damit meine ich keine großen Enterprise-Anwendungen, sondern auch das, was man so privat bastelt.
Wobei ich die Implicit Usings ganz nett finde, erspart zwar nur eine Tasten-Kombi, aber bei zig 1000en Dateien ist das schon eine feine Sache.
Denn manche Befehle funktionierten nicht wie früher.
Doch, tun sie, alle Syntax-Features werden noch unterstützt, es wurde nichts aus der Sprache entfernt. Du kannst also weiterhin die Usings, dein Namespace, die Program-Klasse und die Main-Methode schreiben, wenn es dir gefällt - ich meine sogar eine Option für das Template gesehen zu haben.
Was sich aber geändert hat, ist der Unterschied ".NET Framework" vs. ".NET" - klingt gleich, sind aber zwei völlig verschiedene Dinge. Das .NET Framework geht bis Version 4.8 und wird *nicht* mehr weiterentwickelt, aber noch einige Jahre unterstützt - Du solltest es nicht mehr nutzen. Das neue .NET hatte anfangs einen anderen Namen (.NET Core bis Version 3.1) und geht seit dem von Version 5 über 6 bis zur in den Startlöchern wartende Version 7.
Das klingt vielleicht blöd, ist aber nicht vermeidbar (gewesen). Microsoft haben ihr .NET Framework von Grund auf überarbeitet/neuentwickelt, um Altlasten los zu werden. Das trauen sich die Firmen hinter anderen Programmiersprachen nicht und ist der Haupt-Grund, warum C# und generell .NET aktuell so sehr im Senkrecht-Start fliegt.
In den Templates ist der Unterschied am ".NET Framework" in den Klammern erkennbar, die neuen Templates haben das nicht.
Mehr zu den verschiedenen Versionen:
Einen vergleichbaren Artikel von Microsoft kenne ich leider nicht, aber der ist auch sehr gut. Es lohnt sich, das begriffen zu haben, so vermeidest Du Probleme, wenn Du online nach Lösungen suchst oder externe Frameworks nutzen möchtest.
Ach ja und vertausche nicht .NET-Version mit C#-Version. Ersteres sind das Framework und die Runtime, Letzteres die Sprach-Spezifikation. Die C#-Version funktioniert prinzipiell mit allen .NET-Versionen, aber manche Features brauchen bestimmte Dinge aus einer neueren .NET-Version, die kannst Du dann natürlich nicht nutzen.
Irgendwie werfen das selbst "erfahrene" Entwickler (die Anführungszeichen sind Absicht) in einen Topf, dabei ist es eigentlich ganz einfach - deshalb erwähne ich das hier.
Hat jemand eine Lösung? Gibt es neue Crash Course zu C#?
Ja: Keine Video Crash Kurse.
Die sind nun mal immer im Nachteil, einen davon beschreibst Du so schön selber.
Und sie enthalten meistens Fehler, zeigen falsche oder schlechte Arbeitsweisen, haben große Lücken, etc. Du als Anfänger kannst das nicht beurteilen (was verständlich ist), also vertrau einfach auf den Rat ;)
Und noch mehr Nachteile, wie dass sie nicht zum Nachschlagen taugen oder häufig auf halber Strecke aufhören (was dir als Grundlagen verkauft wird, ist nur ein Bruchteil davon).
Am aktuellsten bist Du, wenn Du die Tutorials von Microsoft oder die Tutorials in der MSDN-Doku (scheint weniger "langsam" geschrieben zu sein) durcharbeitest. Und fang mit der Konsole an, bis Du fit mit der Sprache bist. Alles Andere verbirgt dir weit komplexere Dinge, die früher oder später immer auf dich zukommen und dann vermutlich überfordern.
Vielleicht das .Net Framework wechseln, weil ich bei Microsof gelsen habe das die das beim .Net 6 geändert haben?
Definitiv - wobei die schon seit 2016 (da fing es mit .NET Core 1 an) massiv am ändern sind. Seit .NET 6 haben sich aber wieder ein paar Defaults (neue Projekte betreffend) geändert, daher wirkt das so für dich.
.NET 6 ist aber der Meilenstein, ab dem man die Reise der Neuentwicklung als "abgeschlossen" betrachten kann, sie arbeiten immer aktiv an vielen Dingen, aber es ist alles da, was man so braucht. Naja, fast, für MAUI sind die Visual Studio Tools noch im Preview, also offiziell nicht released, aber für gewöhnlich funktionieren Preview-Funktionen schon sehr gut.
Fast jede noch aktuelle Programmiersprache wird ständig fortentwickelt.
Eben deswegen lernt man auch nicht anhand von Videos, sondern anhand eines aktuellen Lehrbuchs.
In Videos wird selten gesagt, auf welche Version der Sprache sie sich beziehen. Zudem kann ein Video ja nur exemplarisch was zeigen, so dass man dort auf Details halt auch viel zu wenig eingehen kann.
Insbesondere die der Sprache zugeordnete Standardbibliothek muss der Lernende natürlich anderswo einsehen. Das Zeitalter, in dem solche eine Bibliothek nur aus einigen wenigen, absolut notwendigen Funktionen bestand, ist schon lange vorbei.
Hat jemand eine Lösung?
Die Lösung besteht einfach darin, dass Du Microsofts (im Internet verfügbare) Dokumentation zu genau der Version von C# nutzt, die auf Deinem Rechner installiert ist bzw. mit der Du arbeiten möchtest oder musst. In der Praxis ist das keineswegs immer nur die neueste.
Falls es nicht darauf ankommt, eine ganz bestimmte Version zu nutzen (Du also noch Lernender bist), kaufe dir ein aktuelles Lehrbuch und nutze die darin besprochene Version der Sprache. Vorschlag:
- C# und dieses Buch — der derzeit einfachste Weg, programmieren zu lernen. /Buch /M /MM
Vielen vielen Dank!! Das hilf mir sehr! Ich lerne direkt von den Entwicklern! Danke :-)