6 Best Ways to Learn C#
Learning C# can be daunting, but today, I show six ways for you to become a master at C#.
Disclosure:
I get commissions for purchases made through links in this post.
With mobile web sites, you absolutely need to know HTML, JavaScript, and CSS. I've been calling this the "Trinity of the Web."
Yet, you can't use all three without using a server-side language to serve the website to the client.
This is why you need to know C#.
C# is Microsoft's most-prized jewel. It was created in 2000 by Anders Hejlsberg and is comparable to a C++-type language and not a Java-type language.
But why learn C#?
In these 17 years (yikes!), it has become a cross-platform juggernaut language for almost every platform and technology available. It works on mobile native devices using Xamarin, it runs on Raspberry Pi and Arduino, and it's considered one of the major languages running a large number of websites on the entire Internet!
Once you master C#, the world, as they say, is your oyster. You can write C# code for any platform.
I've been writing C# since two years AFTER it was introduced and I've been amazed every year at how the language continues to grow even to this day.
So while it's always good to get back to basics, today, I share six of the best ways to learn C#.
1. Microsoft
What better place to learn C# than the authors of the language.
Microsoft always provide the most thorough and latest information on new updates to C# because, well...they created it. On the site, you'll see language updates (past, present, and future), code examples, and various discussions on the official C# forums.
If you are interested in learning even more, I would recommend Microsoft's Virtual Academy as well.
References
- Microsoft's C#
- Microsoft Virtual Academy (free) - C# Fundamentals for Beginners
- Microsoft Official Forums - C# Section
- Getting Started with C#
- C# Guide
- C# Programming Guide
New Videos on Microsoft
With the recent release of ASP.NET Core 3.0, there are now over 80 videos to learn about C# and ASP.NET.
2. Andrew Hinkle's C# Training Workshop
One of our contributors to DanylkoWeb, Andrew Hinkle (Twitter, LinkedIn), created a thorough C# Training Workshop for absolute beginners.
This C# workshop has gone through the paces in a corporate environment with people who knew other procedural languages and were gradually transitioned over to C#.
His workshop is available at no cost and is available on his GitHub repository.
If you have any questions regarding his workshop, send him feedback through his Twitter or LinkedIn account.
References
- Andrew Hinkle's C# Training Workshop on GitHub
- Other contributions: StirTrek 2017 by Andrew Hinkle
3. PluralSight
Readers of DanylkoWeb know I absolutely love PluralSight and the $30/month is well-worth the price of unlimited learning on the site.
PluralSight is a great learning platform and provides exceptional self-teaching videos by professionals for professionals.
The library is vast and has various topics. Recently, I just saw one on C# Tips and Traps (Part 1, Part 2).
The one course I would recommend for beginners is Scott Allen's C# Fundamentals with Visual Studio 2015 (affiliate link) .
It gives beginners a solid foundation of object-oriented development, assemblies, methods, classes and objects, and various other required topics.
References
- C# Fundamentals with Visual Studio 2015 (affiliate link) By Scott Allen
- C# Tips and Traps, Part 1 (affiliate link) - Jason Roberts
- C# Tips and Traps, Part 2 (affiliate link) - Jason Roberts
4. Udemy
Udemy is another grade-A learning website. It has a ton of courses for development, business and other topics...even cooking.
One of the best courses for learning C# is the Programming for Complete Beginners in C# (affiliate link) . This course sells for $12, taught by Eric Wise, and teaches you in 6.5 hours.
WAY better than the "Learn xxx In 24 Hours/Days" books in my opinion.
References
- Programming for Complete Beginners in C# (affiliate link) by Eric Wise
5. Best C# Books
I've mentioned before with my top 10 books that I hold Wesley-Addison above all others, then APress (affiliate link) , then O'Reilly as the best books in the industry.
I know this may be considered a cop-out, but I want to bring attention to specific authors who teach C# and need some kudos/credits for their books.
These authors below provide probably the best coverage I've seen captured in words. They've even built on previous versions of C# with 2nd and 3rd editions.
I would definitely recommend these four books to anyone wanting to learn C#.
References
- Beginning C# Object-Oriented Programming (affiliate link) (APress) by Dan Clark
- A Programmer's Introduction to C# (affiliate link) (APress) by Eric Gunnerson
- Programming C# 5.0: Building Windows 8, Web, and Desktop Applications for the .NET 4.5 Framework 1st Edition (affiliate link) (O'Reilly) By Ian Griffiths
- C# 7.0 In a Nutshell: The Definitive Guide (affiliate link) (O'Reilly) by Joseph Albahari and Ben Albahari
6. Foundational C# on freecodecamp.com
Scott Hanselman recently posted a course for learning foundational C# on freecodecamp.com. These bite-sized courses create C# projects making them easy to digest and understand.
References
- Foundation C# on freecodecamp.com
BONUS TIP: Real-Life Code Examples on .NET Application Architectures
For those new to .NET and want to dig into sample code immediately, Microsoft has a number of sample .NET Application Architectures where you can learn about real-world applications and how to build them.
There are six categories to explore and every category has sample code written in C# varying from Microservices and Docker to building Xamarin apps and writing ASP.NET MVC websites.
It's a treasure trove of real-world coding examples.
Next Steps: If you want to move past C# and want to learn ASP.NET MVC, I would recommend:
Conclusion
If you are just starting out to learn C#, don't get discouraged or frustrated. Programming in a new language takes time to get used to the syntax and the language's idiosyncrasies.
Ask others in forums if you are having troubles and be patient. Keep at it by being persistent and you'll be able to write code with the best of them.
How did you learn about C#? Did I miss a way on how to learn C#? Post your comments below and let's discuss.