Share via

where to start if I want to learn C#

Vladislav Velimirovic 60 Reputation points
2026-05-08T19:34:41.1633333+00:00

where should I start if I want to learn C#, I have no previous C# knowledge, but have a lot of experience in C++

Developer technologies | C#
Developer technologies | 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.

0 comments No comments

Answer accepted by question author

  1. Jack Dang (WICLOUD CORPORATION) 17,905 Reputation points Microsoft External Staff Moderator
    2026-05-11T02:31:24.8166667+00:00

    Hi @Vladislav Velimirovic ,

    Thanks for reaching out.

    A good place to begin is with the official Microsoft Learn C# training, since it starts from the basics but is still structured well enough for someone with programming experience to move through it quickly. This module is a solid first step: https://learn.microsoft.com/en-us/training/modules/csharp-write-first/

    After that, I’d recommend going through the C# language tour here: https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/
    That will help you get a feel for how C# is designed and which parts will already feel familiar versus which parts are more specific to .NET.

    Since you already have a strong background in C++, you probably do not need to spend much time on the general programming fundamentals. It will be more useful to focus on the C# and .NET concepts that tend to feel different at first, like properties, delegates, events, LINQ, async/await, and the difference between value types and reference types.

    If you want hands-on practice early, installing the .NET SDK and building a few small console apps is one of the fastest ways to get comfortable. That would make the language features click much faster than only reading documentation.

    Once the basics feel comfortable, the next step depends on what you want to build. If you're interested in web development, ASP.NET Core is the usual path. If you want desktop apps, you could look at WPF or WinUI. If your goal is game development, Unity is a common option.

    Hope this helps! If my explanation and the information I provided were also helpful to you, I would greatly appreciate it if you could follow the instructions here so others with the same problem can benefit as well.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments

Answer accepted by question author

  1. Senthil kumar 315 Reputation points
    2026-05-08T19:40:29.59+00:00

    Hi Vladislav Velimirovic

    learn C# sharp from Microsoft Learning. attached the link for your learning.

    https://learn.microsoft.com/en-us/training/modules/csharp-write-first/

    Thanks.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments

Answer accepted by question author

  1. Q&A Assist
    2026-05-08T19:34:55.24+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    Start with the C# material that assumes no prior C# but lets existing developers move quickly, then deepen into the language tour and fundamentals.

    1. Work through the introductory C# tutorials
      • Go to the introduction to C# tutorials and start with Hello world. These tutorials are file-based and can be run either in a prepared GitHub Codespace or locally with the .NET SDK.
      • As an experienced C++ developer, skim the very basic parts and focus on:
        • How Console.WriteLine and basic I/O work.
        • How strings, numbers, and Booleans are represented and manipulated.
      • Tutorials to follow in order:
        • Hello world – create the most basic C# program and work with the string type.
        • Numbers in C# – learn numeric types, rounding, and calculations.
        • Tuples and types – learn tuples, records, structs, and classes and how their capabilities differ.
    2. Read the “Tour of C#” overview
      • Use A tour of the C# language to map C++ knowledge to C# concepts:
        • Syntax similarities (C-family syntax, braces, if, switch, for, while, foreach).
        • Object-oriented features: classes, structs, methods, properties, events, inheritance, polymorphism.
        • Exception handling with try/catch.
      • Pay special attention to the Distinctive C# features section for things that differ from C++:
        • async/await and await foreach for asynchronous streams.
        • Pattern matching, LINQ, and other functional-style features (linked from that section).
    3. Learn C# program structure and type system
      • Read General structure of a C# program to understand how C# organizes code:
        • Namespaces, types (classes, structs, interfaces, enums, delegates).
        • How entry points differ depending on application style.
      • This helps translate C++ concepts (headers, source files, namespaces) into C#’s model.
    4. Choose a development environment and run code
      • If using Visual Studio:
        • Follow Welcome to the Visual Studio IDE | C# to create a console app, open Program.cs, and run it with Debug > Start Without Debugging.
        • Experiment by adding input/output code (e.g., Console.ReadLine) as shown in that article.
      • If using VS Code or browser-only:
        • Use the GitHub Codespace from the tutorials or install the .NET SDK, Visual Studio Code, and C# DevKit as described in the Hello world tutorial.
    5. Then deepen into C#-specific features
      • After the basics and the overview, continue with:
        • C# fundamentals: type system, object-oriented programming, and exceptions (linked from the tour article).
        • Functional techniques, LINQ, and asynchronous programming (also linked from the tour’s distinctive features section).

    This path lets C++ experience carry over while focusing on what’s new and idiomatic in C#.


    References:

    Was this answer helpful?

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.