Typically professional games are primarily developed in C++. However, unless you're a veteran C++ developer I'd recommend choosing a language you are more familiar with while learning the nuances of game development otherwise you may find yourself battling the syntax and general nature of C++ more than the conceptual particulars related to game programming. C# and XNA, or even the now-defunct Managed Direct X, is a great way to start as a few have already mentioned. A wealth of information covering game development in C# is readily available on the web and in print and a large number of communities exist to provide you support while you learn, so take advantage of them.
Also take note that while XNA is a more complete game development framework there are many other available libraries such as Ogre, OpenGL, and Irrlicht that cover everything from audio to physics.
Try to gain an understanding of game fundamentals and build up your experience through ever increasingly complex projects. This is not to say it is impossible to take on a large project as your first, but in my experience smaller projects tend to be completed with more regularity. Each game you finish will build your confidence, experience, and skill set.
I'd recommend checking out http://www.GameDev.net, the resources there are invaluable. Riemers.net also contains a some great tutorials on XNA and Direct X.
Finally try not to become disheartened by the vastness of understanding game development requires. Things may seem overwhelming when you're beginning in the field but try to keep in mind that even the industry gurus started with no knowledge at some point. With persistence, passion, and patience you'll master the necessary skills to create truly enjoyable games.
Good luck.