The C# Player's Guide (2nd Edition) 2nd Edition
Use the Amazon App to scan ISBNs and compare prices.
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Frequently bought together
What other items do customers buy after viewing this item?
There was a problem filtering reviews right now. Please try again later.
This is a very good book for someone who has at least some background in software development/software engineering.
The author introduces concepts and coding structures very effectively, in the context of developing a computer game framework.
The exercises are useful and well-designed to teach the concepts and structures, and the pace of the book is very well done.
The only area that I found to be a bit weak was in discussing Classes versus Structures - I would have preferred a bit more conceptual work here, with more examples.
For complete programming "newbies", I would recommend starting with a simpler programming language, such as VisualBasic or Python. For someone with at least some background in programming, this is an excellent way to get started in C#.
The author's explanation of value versus reference types was great, that was something that I understood but not as well as I should have. It honestly taught me a lot about how the computer uses memory, and therefore pointers in C++ even though he never talked about them specifically. In any book, there's always room for improvement, but this book had the least need for improvement that I've seen out of a programming book. I'd say it's great for a quick learning beginner, a novice, or someone who is good and familiar with other languages that wants to switch to C#.
I saw one reviewer (yeah the one person that didn't rate it 5 stars) state that the book is not good for beginners because things aren't very well-explained. I think there are two types of "beginners" in computer programming, those who needs really basic concepts that are language-agnostic (to learn to think like a computer thinks), and those who get the basic concepts such as flow control and data types, but are new to the language. For some people, those basic things just "click" and they can start with this book, because their brains think in a more machine-type manner. For those folks whose minds are very unfamiliar with this type of thinking, true beginners to computer science, they probably need to be in a more general programming concepts class or book to begin with (even if they don't want to admit it, I used to be that person...probably still am lol).
I hope the author chooses to continue into more C# topics, or maybe a C++/UE4 book. It's hard to write these things because the languages and techs are constantly evolving, but a WPF book that's explained in this author's fashion would be amazing and would continue where this book left off.
Each chapter contains problems to help you master the covered material. I was already pretty familiar with C# and just wanted a refresher read, so I didn't work through all of them. The problems that I did work through were on point with helping to master the material covered in each chapter.
RB also maintains a website that is dedicated to learning game programming, specifically using C# and XNA/MonoGame. The website includes a lot of tutorials on game programming and a forum. However, despite the name of this book, it is a general C# programming book and is not specifically geared towards game programming. The material in this book will be important for using C# in any of its applications, including programming Windows applications, website server side programming with MVC/ASP.NET, programming a game with MonoGame, etc.
If you are looking to program in C# and are new to the language, this book is an excellent choice. If you are an intermediate programmer or looking to brush up on your skills, this book will also serve your purposes well.
Top international reviews
This is my first foray into C#, but I have read many other programming books for other languages. I found this book informative, easy to read, the writing is clear and easy to access (without being distractingly over-friendly or simplistic), the chapters and "try it out" sections are just the right length (in terms of time requirements), and perhaps most importantly, the structure of explaining each part of the language was logical and never overbearing.
I imagine this book will work well for both beginners and those coming from other languages alike. The first few chapters cover the basics (as you would expect), each section and chapter starts with a "nutshell box", which describes in very brief detail everything the chapter will cover. This certainly helps those familiar with some of the basics and wanting to rush through (personally, I chose to read through each chapter. Things are explained clearly and succinctly, so even retreading old ground never felt tiresome).
Another neat idea; rather than ignore complicated topics or information that may confuse a beginner, the author frequently offers pointers to deeper chapters/pages within early chapters. Those starting out can safely ignore these pointers, while those who want deeper information on a topic can take a brief detour. I won't pretend to speak for everyone, but for myself, ideas and information were imparted at the correct pace, always challenging, but never going overboard and without getting too confusing.
This is a really good book. I'll certainly be looking out for more guides by RB Whitaker.
A great deal of effort has clearly gone into explaining the basics of the language in Parts 1 and 2 - programming in general, variables, arrays, conditions, loops and the like - and there's a particularly good explanation of the difference between 'reference variables' and 'value variables' and the use of the stack/heap, perhaps the clearest I've ever read.
But from Part 3 onwards, starting with object orientation, the explanations are not so clear; re-inforcing examples are less frequent; and there are many sentences (perhaps even dozens) that have simply not been checked for grammar. It's meant that I've had to look up a lot of stuff online before I've understood it, although perversely I've probably learnt more thoroughly that way because I've had to work hard to get the information!
My overall feel is that this is a very good writer, with a flair for explaining things well. In fact there ARE spots from part 3 onwards where you the original inspired writing. But something went wrong. Maybe he ran out of time, or some over-zealous editor chopped half his examples away to squeeze it into 300-odd pages.
For £18.98 I'd more or less recommend it, but with the caveat that you should be prepared to put a lot of work in yourself to tease out full information about object orientation and advanced topics generally.
Quality of the book is great too, pages nice and thick with a strong spine. I have hammered the s*** into this book, at one point folding it into a scroll to fit it in my overfilled bag.
And it still going strong! if only all programming books took into account size, quality, & weight when travelling or going to uni.
- Overall it is well written and the author has spent time thinking about explaining complex concepts in a simple manner.
- Everything text is short an to the point. What might take up 20 pages in another book takes 5 pages in this one.
- It contains only a few exercises. And that is, in my opinion, a major drawback.
- Since the text is short an to the point is most things are not explained in detail. This means if you don't understand the first example and the short introduction. There is not a second example to help you out.
- The text is black and white. You don't color text similar to what you see in visual studio.
- In some of the code examples, you only get the small be of code that the author is talking about. This means it can sometimes be difficult to figure out how to embed that code into a larger program.
He explains things in a great way, gives you objectives to code explaining what needs to happen (sort of hints) but doesn't give you the answer on the page so you have to figure it out for yourself, he stores the correct code for each objective online so you can compare your code with his when your finished - but it not being on the next or same page saved me from cheating myself out of learning I think.
All the basics are covered in the first 18 chapters, then more advanced stuff within the rest.
I think It's a sweet buy if your interested in learning.
After this one you'll be ready for a more in-depth book, but I doubt you'll ever be lost while looking at the language.