Where many newcomers go wrong is taking on too much and not learning the basics. It can be frustrating to start with the basics but this gives you a solid foundation for moving forward.
Dependent on being your first programming language or not.
Start here and run through the documentation. Explore the courses listed here.
When learning to code, do not use windows forms or web application, instead learn the basics using either or unit test or console projects. Why unit test and/or console projects? Because this allows one to focus on one topic e.g. learning to work with statements, learning to work with data (e.g. SQL-Server, Oracle, MS-Access etc). Also another benefit is if something breaks inside an application with many moving parts one must debug code in two different places while having unit test can indicate if there is failure in backend code or frontend code for instance.
Visual Studio 2022 or
Visual Studio 2019 rather than older versions and start with
.NET Framework 4.8 rather than
.NET Core Framework. If you like to know why ask me.
Learn how to
debug, many developers rely on using console write line or debug write line while there are much better ways using Visual Studio’s debugger.
Once the basics are understood, now is the time to create an application to learn how to put all the pieces together. Before writing any code for the application, lay out a design on paper, in a document or other tool. Working with data? Do not write SQL in the application, write SQL for instance in SSMS (SQL-Server Management Studio) and when it works write code and test using one or more unit test.
For the serious at heart to properly learn
- Use Pluralsight its a paid service like no other
- Create a GitHub repository for learning various aspects of C# similar to mine for sharing knowledge.