Good luck on your journey, if you want to learn C#, i can only recommend to learn Cpp afterwards, i learned it once, but im not that good at the whole pointer stuff.
Then i saw C2, and knew that it would be faster and better for prototypes and smaller 2d projects then Cpp. Note if you choose Cpp.
Use SDL ;) very easy to use, good for beginners, lazyfoo has some good tuts on it.