The first program I made in C# was a stupid form made by the designer looking for something important but was not able to do anything .... haha.
This was back when I was learning PHP. I was confused how the background of C# actually works and I still missed the real basics I'd like to suggest. When I was at school I learned C first, understanding how type safe and hard code works, and how synchronous console applications actually act. It was still similar on the execution like PHP or other script languages (code from up to down and done) when not working with more classes on the first view, so it is not of course.
Now to go on with using C# I totaly skipped programming consoles with c#, because I was able to do it in C that is pretty harder. I learnt to understand what object oriented programming really means, the way classes inherit other classes and what kind of classes and it's properties exist. And more, more, more ... For this, you do not need to decide for any language at all firstly.
At the end C# is much more complicated but even much more easier (depends from where you look on it, "based on the advantage and possibilities for beginners" or "compared to older more machine code languages, such as CPP, C, older ...").
For C# I never had any book or resource, but "Google". All you need to care of is to understand what really happens behind the scene, and you are able to understand and keep the information without learning it heart.
When building your first applications, watch your code getting processed in debug mode and supervise all the objects and it's members to get a good feeling how it works. Google any found confusing word (specially key words such as static, partial, etc) by you after finishing any tutorial (decide for any professional on Google or wait for more response here). Even try to accomplish some basic applications like a mini calculator. However, try not to concentrate on the designer at first. It makes your life too easy and avoids the understanding of Control components when doing Windows.Forms or WPF.
~ Start off with the console is strongly suggested. ~
Good luck.