I'd still say Thinking in Java is a good choice, from there move on to a game programming book.
The few game programming books I read I was not impressed with. If starting with a new language I would go with the following route.
1 - A good general purpose book on the language.
2 - A more detailed book on efficient programming in the language.
3 - An intro book on the desired game API
4 - A more detailed reference on the game API
For C# I don't know, if you were asking about VB I go with the Rod Stephens books, followed by the VB pro book from Wrox press. They have C# books as welll so that might be a good place to look.
The few game programming books I read I was not impressed with. If starting with a new language I would go with the following route.
1 - A good general purpose book on the language.
2 - A more detailed book on efficient programming in the language.
3 - An intro book on the desired game API
4 - A more detailed reference on the game API
For C# I don't know, if you were asking about VB I go with the Rod Stephens books, followed by the VB pro book from Wrox press. They have C# books as welll so that might be a good place to look.