A while back I took it upon myself to learn C# and also to update my understanding of the best way to do UI programming with Windows. In the process of my research I found several books that I found very helpful. The books listed below cover a range of topics that helped me get closer to my goals. None of these are to be considered beginner books, however an experienced C++ programmer might find themselves breezing through an occasional chapter due to the similarity that some of the concepts have to C++. This was bound to happen given that C# draws so much from C++. I'm not going to review each book, there's plenty of that at Amazon which is where the titles link to. Note that these books don't make a lot of effort to translate C++ to C#, although there is some of that, this list is really for a programmer who already knows how to program pretty well and just wants the facts.
CLR via C#
Good solid text that explains the fundamentals of the language at a pace that doesn't annoy a programmer who already knows C++ well.
Applications = Code + Markup
This is a useful text that demonstrates the relationship between XAML and C#. XAML really is a significant development and worth learning.
Expert .NET 2.0 IL Assembler
This book is good for the seasoned programmer because it helps to explain the nuts and bolts behind how the .NET runtime works.
Customizing the .NET Framework Common Language Runtime
This book is useful for learning how to leverage .NET from within other applications, for instance it was helpful for me to learn how to use .NET as a script engine sand box within my game engine.
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries
Out of all the books in this list, this book teaches the least about .NET however it serves a useful purpose in that it helps to understand how standard .NET code is organized. Reading this was a bit of a chore for me but I still feel it is useful because being an experienced programmer entering the .NET world it helped me to avoid migrating obsolete habits into a new environment.
A Design Rationale for C++/CLI, v 1.1
While this is a PDF and not a book, I highly recommend reading this paper carefully if you have a background in C++. It explains in great detail the motivations behind the changes to C++ that were made to make "C++/CLI" a full citizen of the managed code environment. As you may know, both C++/CLI and C# produce IL Assembly code, so even if you never intend to use C++/CLI there is a lot to be learned from this paper.
Comments
Hello
I would love to make an RPG Browser game with my friend... but i dont know anything about scripting, could you possibly send me reply to my email, im complitely a noob, never made a game better than with a GameMaker, so i wish you could tell me how to make an Browser RPG game, simply, easy and fast ways.
And then make it public on some site.
Hi
Hi Shadow
I don't have an easy answer for you except to say that to accomplish your goal, you should probably focus first on learning how to make basic C# apps using WPF. Once you've gotten that under control, find one of the many "how to make RPG" books out there, possibly a MUD related one, and try to apply the knowledge you gain there into a WPF application. Once you have a WPF based RPG, getting it into the browser is just a matter of using XBAP technology. Which has limitations, so it's a good idea to learn more about XBAPs before going too deep into the game development. Good luck with your adventure :)
-Eric Cosky