What do I need to master C#

Yusuf 681 Reputation points
2021-10-14T16:21:40.487+00:00

Hello everyone.
I learned VB.NET through long practice and then moved to C#, when I want to use a new technique I looking for tutorials and searching of a similar code while programmers can learn about the new technology by previewing the code only, if you look at the questions that I post you can notice my programming weaknesses.

How can I program like a pro?

Thanks

C#
C#
An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,195 questions
{count} votes

Accepted answer
  1. P a u l 10,406 Reputation points
    2021-10-14T16:48:39.847+00:00

    Unfortunately mastery in programming is often an ongoing process, particularly in languages in C# where development rarely slows down. Having said that there are resources that are always worth going through that'll speed up getting to the level you want to be at:

    • Get a basic familiarity by reading through documentation: https://learn.microsoft.com/en-us/dotnet/csharp/
    • Reading the devblogs for new features (you'd be surprised how after professional developers neglect to do this, so it's definitely beneficial to keep up to date): https://devblogs.microsoft.com/dotnet/
    • Understanding common programming patterns: https://refactoring.guru/design-patterns/csharp
    • Looking through a lot of other people's code and slowly trying to gain an intuition for what large C# projects look like and why they look like that
    • If you're using a particular API inside C# and you want to understand how it works, you could have a dig around inside the C# reference source: https://referencesource.microsoft.com
    • Maybe you want a more holistic view of .NET as a platform - in which case you could clone some of their repositories and have a root through the bits that interest you: https://github.com/dotnet
    • Reading through topics that come through forums like this one also has helped me keep an eye on what's going on in domains that I don't normally venture in for my career
    5 people found this answer helpful.
    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Karen Payne MVP 35,031 Reputation points
    2021-10-14T17:33:56.843+00:00

    If you have a decent knowledge of VB .NET then consider

    • Getting a Pluralsight account (it's not free), if you do nothing else this coupled with reading Microsoft Learn is a great start
    • When getting your feet wet with C# my recommendation is to learn by using unit test projects. Using test methods is two fold, you learn unit testing which every developer should know (but the vast majority no little or nothing on unit testing) then there is the fact of no user interface to get in the way of learning
    • Check out the following repository for beginner level unit testing.
    • Do a search for C# cheatsheets, pick one topic at a time and learn it inside and out.
    2 people found this answer helpful.
    0 comments No comments