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.
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.