C# books reviewed

To be a great programmer, you need great books. Here is the selection of essential ones.

GDI+ Custom Controls

Level: intermediate to expert

The framework comes with a large array of controls - but for a power programmer there are always occasions when you want to create your own and give your applications your unique look and feel.

This book provides you with a hands-on example-based tutorial to building custom controls using Visual C# 2005 Express Edition and .NET 2.0.

The complexity of building a fully functional control from scratch is handled beautifully, explaining every step in detail: GDI+ for drawing, double-buffering to avoid flicker, printing and handling of mouse events.

Highly recommended. Click here to order it.

Beginning C#

Level: beginner

This book will be an indispensable guide as you learn to write C# programs, gradually explaining the key concepts of C# and .NET as your skills develop. After a thorough explanation of the basics of the C# language, we take an in-depth look at object-oriented programming in C#, before moving on to see how we write Windows applications in C#.

We also show how you can create dynamic web pages and web services in C#. Finally, two case studies provide full examples of C# applications in action and show how it all ties together.

C#: A Beginners Guide

Level: beginner

Learn the basics of working with Microsoft's newest programming language using this hands-on introductory resource. You'll get step-by-step instructions for creating, compiling, and running simple programs followed by in-depth explanations on data types, operators, functions, arrays, classes, inheritance, and much more. You'll also be introduced to some of the advanced features of C#. Through a combination of hands-on coding projects, detailed explanations, and practical advice this is the essential introduction for every new C# programmer.

Sams Teach Yourself C# in 21 Days

Level: beginner

This book will take you, step by step, through learning C#, the computer industry's newest and most productive language. This complete guide covers topics from basic program construction to intermediate level application engineering. Following "21 days" formula, this book is a three week intensive course for the beginning programmer who wishes to get started with this exiting new coding standard. The comprehensive lesson plan will enable the reader to understand, design and build applications that are compatible with the new Microsoft .net framework.

C# and the .NET Framework

Level: beginner to intermediate

This book covers topics ranging from the general principles of .NET through the C# language and how its used in ASP.NET and Windows Forms. Written by programmers for programmers, the content of the book is intended to get readers over the hump of the .NET learning curve and provide solid practical knowledge that will make developers productive from day one.

Inside C# (With CD-ROM)

Level: intermediate

Aimed at those with some previous programming experience, Inside C# shows developers the unique strengths, advantages, and tips for coding with C#.

The outstanding strength of this text is its in-depth language tutorial on C#, with complete coverage of basic and advanced object-oriented programming techniques. New language features like properties, indexers, and attributes get full coverage, alongside the basics of using classes and inheritance.

C# Essentials

Level: beginner

While most of today's programming books seem to be trying to outdo one another in sheer page count, this one bucks the trend with an extremely concise--yet entirely thorough--treatment of C#. This is an efficiently packed, language-based guide that's perfect for those with some previous object-oriented programming experience.

It covers all C# language keywords, with particular attention to class design constructs. Short code excerpts, rather than full-length programs, are used to illustrate every feature of the language, from basic design types to data types, class design constructs (including all the details of inheritance), and the basics of the .NET Common Language Runtime (CLR). You'll learn how to model classes correctly using the most advanced features (such as reflection and attributes) that help make C# particularly powerful and elegant.

C# and the .NET Platform

Level: beginner to intermediate

Aimed at the reader with some previous programming experience, C# and the .NET Platform provides an enjoyable and well-paced tutorial for learning C# and Microsoft's new .NET Framework. This well-written guide is all you need to get onboard with the latest in Windows development. Today, there are a growing number of titles available for C#.

This text strikes an excellent balance between a basic language tutorial with an authoritative presentation of what's new and better in .NET with coverage of the some of the inner details of the platform, including deployment. The author's patient writing style is never dull or overly technical, which will mean this book is a good choice for a wide range of readers approaching C# from a variety of languages including C++, Java, and Visual Basic.

Professional C#

Level: beginner to intermediate

Given its patient and comprehensive tutorial style, Professional C# is a great choice for any developer stepping up to the plate with C# and the Microsoft .NET platform. With plenty of material geared to the specific needs of C/C++, Java, and VB programmers, this thorough tutorial packs some worthwhile advice within a well-paced guide to what you'll need to know to succeed with C#.

Applied Microsoft .NET Framework Programming

Level: intermediate to advanced

This title takes advanced developers and software designers under the covers of .NET to provide them with an in-depth understanding of its structure, functions, and operational components so they can create high-performance applications for .NET more easily and efficiently.

Developers learn to program .NET applications while gaining a solid understanding of fundamental .NET design tenets. This title not only covers the infrastructure and architecture of .NET in-depth but also shows developers the most practical ways to apply that knowledge.

Programming Windows with C# (Core Reference)

Level: beginner to intermediate

Aimed at aspiring C# programmers of all levels, legendary Windows expert Charles Petzold's Programming Windows with C# provides an extremely in-depth and intelligent tutorial to the APIs underpinning Microsoft's .NET Framework.

Microsoft .NET for Programmers

Level: intermediate to advanced

Written for intermediate and advanced programmers, this book builds on your existing knowledge to teach you exactly what you need to know to develop .NET applications. Packed full of practical examples, the book presents a case study which takes you through the design of an application "engine" and its implementation as a .NET assembly.

You'll reuse the engine to create different versions of the application using Windows Forms, Remoting, Web Services, Windows Services, COM, MSMQ, ASP.NET,...

C# and the .NET Platform

Level: intermediate

Aimed at the reader with some previous programming experience, C# and the .NET Platform provides an enjoyable and well-paced tutorial for learning C# and Microsoft's new .NET Framework. This well-written guide is all you need to get onboard with the latest in Windows development.

.NET Framework Essentials (2nd Edition)

Level: beginner to intermediate

Provides a concise technical overview of the Microsoft .NET Framework. Covered here are all of the most important topics, from underlying Common Language Runtime (CLR) to its specialized packages for ASP.NET, Web Forms, Windows Forms, XML and data access (ADO.NET).

Building Systems from Commercial Components

Level: intermediate

There is a real and growing gap between the theory and practice of component-based software design. There are, of course, books on component-based design. However, these books assume that the design task is to develop specifications for software components when most component-based design relies on preexisting components. There is room for both perspectives.

COM and .NET Component Services (O'Reilly Windows)

Level: intermediate to advanced

Aimed at the more experienced developer or Windows administrator responsible for deployment, COM and .NET Component Services provides an expert guide to getting the most out of COM+ services on the Windows 2000/XP platform, including material on the new .NET platform.

This guide will help you create state-of-the-art, scalable Windows components that take full advantage of transactions, object pooling, and powerful administrative features available in COM+.

Compiling for the .NET Common Language Runtime

Level: advanced

The definitive book for serious software engineers, compiler developers, and language implementers. Examples included are drawn from C#.

Programming C#

Level: beginner

Jesse Liberty's Programming C# provides an adept and extremely well-conceived guide to the C# language and is written for the developer with some previous C++, Java, and/or Visual Basic experience. This second edition brings the book up to date, with examples that are guaranteed to run on the shipping version of Visual C# .NET.

Programming Microsoft .NET

Level: intermediate to advanced

This core reference provides a one-stop, definitive resource for building robust, Web-enabled software applications for the revolutionary Microsoft .NET development platform. Windows programming authority Jeff Prosise masterfully explains this new programming paradigm as he introduces readers to the .NET Framework and to the new programming models that it embodies: Windows Forms, Web Forms, and Web services. The book includes more than 75 complete sample programs written in C#.

The samples are designed to help readers resolve .NET development questions and to complement the book's carefully explained introduction to .NET programming. All the sample programs, as well as an electronic version of the book, are included on the companion CD-ROM.

XML for ASP.NET Developers

Level: intermediate to advanced

Text focusing on the different ways XML can be leveraged in ASP.NET applications to create flexibility, ease of maintenance, and efficiency. Feature thousands of lines of code samples illustrating techniques for XML for ASP.NET, and related technologies such as XPath, XPointer, and XLink.

ASP.NET in a Nutshell

Level: intermediate to advanced

For those experienced with previous versions of ASP or the .NET platform, ASP.NET in a Nutshell is an invaluable resource that goes beyond the published documentation to highlight little-known details, stress practical uses for particular features, and provide real-world examples that show how features can be used in a working application.

Unlike other books, it distills a large and comparatively complicated subject into a compact tutorial and reference that is useful for both learning essential concepts and daily reference. This book covers application and web service development, custom controls, data access, security, deployment, and error handling. There’s also an overview of the web-related class libraries.

C# Design Patterns: A Tutorial

Level: intermediate to advanced

Design patterns are elegant, adaptable, and reusable solutions to everyday software development problems. Programmers use design patterns to organize objects in programs, making them easier to write and modify. C# Design Patterns: A Tutorial is a practical guide to writing C# programs using the most common patterns.

C# Fast and Easy Web Development

Level: beginner to intermediate

Don't spend your time wading through manuals to learn C#. Spend it doing what you do best-creating Web pages! Begin with an introduction to ASP.NET and the basics of C# programming. By the time you're finished, you'll be deploying Web applications and even creating an online store! Combining easy-to-understand instructions with visual examples, C# Fast & Easy® Web Development offers a unique, hands-on approach to C# that you won't find anywhere else. Less time, less effort, more results!

C# Text Manipulation Handbook

Level: intermediate to advanced

The .NET Framework has a variety of string manipulation features, but incorrect or ill-considered use of these methods could drastically increase your memory and processor consumption. This book teaches you how to make use of regular expressions to match and replace text, and how to manipulate text using the various string matching, manipulation, and replacement classes.

Issues such as Internationalization and data conversion will also be investigated.

Application Development Using C# and .NET

Level: advanced

This book gives experienced developers insight needed to build enterprise applications for Microsoft's .NET platform using C#. Extensive code examples and a running case study illustrate .NET concepts and technologies. After an outline of the programming model of the .NET framework, coverage includes the C# programming language, fundamental topics in the .NET framework such as Windows Forms classes and ADO.NET, Web programming using ASP.NET and SOAP, and additional topics in the .NET Framework including security and interoperability.

C# & VB.NET Conversion Pocket Reference

Level: intermediate

A guide to help you easily make the switch from C# to Visual Basic.NET and vice versa. Presents language-neutral information that is equally understandable to C# and VB.NET programmers.

C# Essentials (Prentice Hall Ptr Microsoft Technologies Series)

Level: beginner

Written for programmers familiar with C++, this guide examines key features of the C# language within the context of C and C++. The authors, who are professors at SUNY, explain Visual Studio.NET, the Microsoft development environment (MDE), data types, control statements, arrays, objects, input and output, and user interface design.

C# for Web Programming

Level: beginner to intermediate

C# is a radical new object-oriented programming language that combines the power and flexibility of C++ with the ease of Visual Basic. Embracing HTML and XML, and ready to use existing code modules, C# dramatically cuts the development time to build highly portable, communications-friendly applications. C# is the natural choice for building applications for the Web, and C# for Web Programming gives you all the background you need to get started in this exciting Web application programming environment.

C#: A Programmer's Introduction

Level: beginner

Introduces the basics of the .NET environment, the C# language, object-oriented programming, and XML-based web services. Written for novice programmers, the guide focuses on program clarity through the reliable techniques of structured programming, object-based programming, and event-driven programming. Topics include methods, arrays, inheritance, exception handling, the graphical user interface, strings, databases and SQL, ASP.NET, FCL collections, and accessibility.