Preface
So you've read an introductory book and perhaps one or two more advanced books. You've worked with C# for a while and now you're ready for something that wasn't written for idiots or dummies. This book may be just the thing!
This book includes 100 problems (with solutions) that you can use to test and hone your C# programming skills. They cover an eclectic assortment of topics, such as mathematical calculations, geometry, dates and times, the filesystem, simulations, and cryptography. These problems won't make you an expert in those fields, but they will give you some experience with a wide variety of useful topics.
As with many skills, the best way to learn programming is to practice. Most programming books cover roughly the same topics, so they don't give you the opportunity to practice skills that fall into the programming nooks and crannies that those books miss. They do a good job of covering basic topics, such as forms, controls, classes, and for loops. More advanced books also cover more specialized topics, such as algorithms (I've written a few algorithms books), databases, web programming, and phone apps. Few books have room for more specialized topics, such as mathematical calculations, simulations, and cryptography. You'll get a brief introduction to those topics here.
In addition to giving you practice with some of programming's less heavily-trodden byways, many of the examples in this book demonstrate important C# programming concepts. They show how to protect your programs from integer and floating point overflow, avoid exhausting stack memory, know when LINQ or PLINQ might hurt performance, handle times in multiple time zones, and use the yield statement.
Two things that this book does not cover are console applications and WPF. The example solutions use Windows Forms programs because they are easy to write, and that lets you focus on the concepts behind the user interface instead of spending time fiddling with WPF issues.
Before I get to the problems themselves, the following sections explain some of the details of the book's layout, how to get the most out of the book, and how you can get in touch with the publisher. After you skim that material, find a comfortable chair, possibly in your favorite coffee shop or tea house with a caffeinated beverage and a scone, open your laptop, and get ready to give your brain a workout!