Programming C#
Jesse Liberty'sProgramming 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.It's no secret that many computer books are pretty much  devoid of an authorial personality. This title is a winning exception.  The author is able to weave in clever examples (using such topics as  his own long experience in computing, his dog,Star Trek, etc.)  without being coy or getting in the way of presenting real technical  information. Liberty's wide experience in computers and general writing  skill shows, as he is able to draw on a wealth of examples to move his  text forward.These are a couple of goals at work inProgramming  C#. First, it's an excellent language tutorial, certainly one of  the smartest and best available guides to C# as a language. Early  chapters explore basic and obscure language options using inheritance,  delegation, interface, and the conventions in C# used to implement  these techniques. The middle part of the book turns toward the .NET  Framework itself, with two useful (and somewhat introductory) chapters  on both Windows Forms and Web Forms, for standalone and Web-based  applications, respectively.Later sections crank up the technical  knowledge again with several advanced topics on understanding .NET  assemblies and deployment in detail, as well as "reflection" APIs that  allow .NET programs to essentially modify their code at run time. (One  technique, reflection emit, which literally writes bytecodes, will  definitely interest expert readers, though it's unlikely most  programmers will need to do this.) Final sections look at the .NET  stream classes (rivaled only by Java's for complexity). Liberty looks  at basic file and network I/O as well as how objects get serialized and  marshaled both for SOAP and Web services and "normal" .NET  remoting.The author's sure hand here in navigating the difficult  waters of C# and .NET makes for a relatively concise text that is  chock-full of useful information on C#. Filled with notably clever and  inventive examples, this book is possibly this veteran computer  author's best title to date, and it's sure to be a noteworthy resource  as experienced developers tackle C# for the first time.--Richard  DraganTopics covered:Introduction to C# and the .NET platformA "Hello World" example in C#Tutorial to C# as an object-oriented programming language (types  and variables, operators, namespaces, and preprocessor directives)Defining classes in C# (including static members, finalizers,  overloading, and read-only fields)Inheritance and polymorphism implemented in C#Operator overloadingStructures in C#, interfaces, arrays, and indexersBuilt-in .NET collections, strings, and regular expression supportStructured exception handlingDelegate and eventsIntroduction to programming with Windows FormsADO.NET database APIs (including basic XML support)Quick introduction to Web Forms and ASP.NET used with C#Introduction to Web services (SOAP, WSDL, and Discover services  described)In-depth guide to .NET assemblies (including metadata, versioning,  private and shared assemblies)C# support for attributes and reflection (including reflection emit  techniques)Marshaling and remoting (with and without SOAP)Threads and synchronizationTutorial to C#/.NET streams (including basic I/O techniques, Web  streams, and serialization)COM and .NET interoperability