This is the first second-generation book on C# and includes more than 100 pages of new material! Gunnerson's book is designed as a comprehensive reference for professional programmers to help get them up to speed on C#. The author is a lead developer on Microsoft's C# development team, and has logged many developer hours writing and testing C# code. As such, he is uniquely poised to teach developers the effective use of this new language. Gunnerson also explains to readers how C# fits into Microsoft's new .NET framework. A final section of the book provides a history of C#, and a language comparison to other widely used programming languages. Gunnerson's book provides a foundation upon which programmers can begin to develop in C#. New features in the 2nd ediition include coverage on developing a GUI application using Windows Forms and in-depth information on advanced topics, including threading and execution-time code generation.
Written for those with some previous C/C++ or Java experience,
A Programmer's Introduction to C# is a fast-moving and smart tutorial to using Microsoft's new programming language. This book is filled with both basic and advanced language details that show you how to use C# effectively.
A quick tour of C#, covering nearly every language detail, starts things off. Because the author assumes that you already know about basic concepts like objects, inheritance and the like, the pace is pretty lively. Concise descriptions of key language features are anchored by short, clear code excerpts that demonstrate each C# principle. Early chapters concentrate on using objects, data types and flow control done the C# way. Where appropriate, background material is provided on the new Microsoft .NET Frameworks environment (where C# runs), but this text is by and large a language-based tutorial. Readers will get a handle on key C# features and even advanced nooks and crannies of the language (such as nested classes and improvements above and beyond C++ and Java) like built-in support for properties, the delegates keyword and support for versioning.
The book is careful to discuss the philosophy and style of C#, especially when it comes to class design. Of course, if you are trained in C++ or Java, you will be right at home. Later sections turn to the nuts and bolts of .NET Frameworks with material on writing classes using methods that will cooperate better with the framework, garbage collection and guidelines for creating reusable classes for other programmers. The book finishes up with a point-by-point comparison of C# and C++, Java and Visual Basic, which can show you what's the same and what's been improved in this new and exciting language from Microsoft.
In all, this title arrives at just the right time for the reader who wants to get ready for C#. Although the language is still under development, reading A Programmer's Introduction to C# will help you stay ahead of the curve with its concise and effective tutorial that's perfect for the busy working developer. --Richard Dragan