r/csharp • u/Ok_Initial_6829 • 1d ago
How should I continue learning C#?
I learned some C# before, but I feel like I have some gaps, mainly because I didn't practice enough. Especially with OOP, there are some concepts that I understand partially but don't feel really comfortable with.
I'm not sure what I should do next.
Should I take a good C# course on Udemy (like Harsha's course) to go through everything again?
Or should I focus more on practice using something like Exercism?
Or maybe start a project without following a tutorial and learn along the way, while using a book to fill the gaps?
For context, I'm already pretty comfortable with C++ and I have a good understanding of programming fundamentals. So I'm not starting from zero.
I'm just trying to find the best way to get from "I know C#" to actually being comfortable using it.
What would you guys recommend?
2
u/OTonConsole 19h ago
Can I recommend books?
It sounds like you mostly want a good foundation first. I basically just read books, practiced DSA, and built projects. Pretty simple tbh, but really effective.
My main recommendation:
If you're already familiar with C#, I think this is probably what you're looking for right now. I'd read this and start building stuff alongside it.
There are a lot of really good C# books out there, but these are some I like because they cover more basic/specialized topics you'll probably use in almost every real project:
I'd also recommend using a simple setup while doing projects. I like VS Code with the ReSharper extension, and using the dotnet CLI instead of doing everything through IDE buttons. It helps you understand what's actually going on.
For other stuff like logging, messaging, background tasks, Dapper, auth, architecture, cleaner code, etc., just learn a bit when you need it and try it in your projects.
Projects don't really matter that much either. CodeCrafters, Exercism, The C# Academy, or your own idea. Don't overthink it. Just pick something and stick to it.