I tend to learn by modifying already existing source code until I get a good grasp on everything but if you want to work from the ground up then microsoft has a basic C# primer collection of text tutorials that walk you through the core of the language, it can be found at https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/intro-to-csharp/.
Depending on what you want to do you might have to look into MonoGame and Xna (they both work nearly the same since MonoGame exists to supersede Xna) since MonoGame is used for the graphics rending in the engine.
Generally though if you're comfortable with programming you can probably just get directly into modifying some basic things and it should all make sense. (you can start by applying some git patches from the source mods section and seeing what they changed and implemented if you think that could help)