This blog will (someday) contain a series of tutorials aimed at the novice game developer to help them gain the knowledge needed to go on to more advanced topics.
XNA is a .NET framework specifically for game development that also uses C#; however, it is strongly recommend you get a firm grasp of C# as well as the basics of game development before tackling XNA.
UDK & Unity3D are both game engines, they do most of the 3D programming work for you and then you add in scripts that would tell the game what to do. Both of the scripting languages are similar to C#, and each engine has its pluses and minuses.
Lastly legible code is more valuable than slightly more efficient code. It is also important to have well documented code so that if you (or another programming) want to revisit that code at a later date you can remember why you did something the way you did. Both of these skills will be focused on in early tutorials with hope that these practices will be continued in your own programming.