Hallo
Noah,
und
hier im Forum.
Deine Frage ist so pauschal natürlich nicht so einfach zu beantworten, da jeder ein anderer Lerntyp ist. Außerdem lernt man neue Sprachen auch ganz anders, je nachdem, wie erfahren man schon mit anderen Programmiersprachen ist.
Ich persönlich lerne neue Sprachen am besten, wenn ich 2 Ding habe 1. ein konkretes Projekt, welches ich mit Hilfe der neuen Sprache umsetze und 2. ein Buch zu dieser.
Meistens überfliege ich die Grundlagen im Buch, einmal kurz, ich Programmiere schon seit über 15 Jahren beruflich und muss mir daher nur einmal einen Überblick über die Schreibweisen der Schleifen, Kontrollstrukturen und anderen standard Mechanismen verschaffen, bevor ich mich dann dran mache das Projekt umzusetzen. Jedes mal, wenn es dann beim Programmieren Hakt, versuche ich die Lösung für mein Problem erst im Buch und nur wenn ich dort nicht fündig werde im Internet zu finden.
Mit ist zwar klar, dass ich eine Lösung meist schneller im Internet finde, mir sind aber die Themen wichtig an denen ich bei der Suche nach der Lösung im Buch noch vorbei komme, denn so gewinne ich nach und nach einen recht ordentlichen Überblick über die Eigenheiten der jeweiligen Sprache, und bekomme ein Gefühl für ihren Umfang. Fast noch wichtiger ist aber, dass mir ein Buch nicht direkt erzählt wie die Lösung aussieht, es "erklärt" mit viel mehr die Werkzeuge mit denen ich an die Lösung komme.
Bei einer Mächtigen Sprache wie C# ist aber bevor du wirklich mit dem Lernen der Sprache anfangen kannst, wichtig, dass du dir einen Überblick über das ganze verschaffst, um entscheiden zu können, in welche Richtung dein Streben gehen soll.
Wenn du ein Windows Programm entwickeln willst, hast du z. B. die Wahl zwischen Winforms oder WPF, zwei völlig unterschiedliche Technologien die Oberfläche zu gestalten. Willst du das dei Programm auch auf anderen Betriebsystemen läuft, musst du dich auf .NET Core Funktionalitäten beschränken, hast dann aber plötzlich gar keine Standartisierte Möglichkeit mehr eine Eingableoberfläche zu gestalten. Aber vielleicht möchtest du ja auch eine Web Anwendung mit ASP.NET, ein Spiel mit Unity oder eine Android App mit Xamarin entwickeln. Das sind alles Richtungen, die du mit c# gehen kannst, du wirst dich entscheiden müssen, welches deine ist, denn alles auf einmal wirst du nicht lernen können.
Auch dafür ist ein konkretes Projekt gut, an dem sich dein Lernprozess orientieren kann. Es schließt schon einmal ein paar Richtungen aus. Willst du z. B. ein Adressbuch für deinen Windows Rechner programmieren, so musst du dich weder damit beschäftigen, wie ein Webserver aufgesetzt sein muss, noch wie man tolle 3D Grafikeffekte in Unity erzeugt. Dafür wird aber die Frage interessant, wie du Datenbanken an dein Programm anbinden kannst usw.
Daher mein Tipp, überlege dir erst einmal ein Projekt, anhand dessen du lernen möchtest. Damit können wir dich wahrscheinlich in eine passende Richtung lenken. Nur wenn du völliger Programmieranfänger bist, was auch wir alle einmal waren, dann wirst du nicht drum herum kommen, dich vorher mit Grundlegenden Programmiertechniken, wie Bedingungen, Schleifen usw. zu beschäftigen.