Alvin Ashcraft is Microsoft Visual C# MVP and .NET developer from the Philadelphia, PA area. He has more than 15 years of software development experience in the Health Care and Manufacturing industries. His wife and three daughters keep him occupied when he is not writing code. Alvin has posted 134 posts at DZone. View Full User Profile

Win Your Copy: C# in Depth

01.31.2009
| 5958 views |
  • submit to reddit
Published by: Manning Publications
ISBN: 1933988363

Reviewer Ratings

Relevance:
5

Readability:
5

Overall:
5

Buy it now

One Minute Bottom Line

The best C# book available for intermediate to expert developers. Experienced .NET developers who think they know everything there is to know about the C# language will almost certainly learn more than a thing or two in this book. It is an interesting cover-to-cover read, and will be a handy desktop reference as well. I recommend this book to anyone who wants to become a C# expert.

Review

Part one lays the foundation for the path to C# 3.0. Chapter one looks at the beginnings of C# and the .NET Framework and introduces readers to the idea of code snippets. Chapter two reviews some of the basics of version 1.0 of C#, including the type system and delegates. Developers familiar with C# can probably skim much of this material.

Part two explores the new features of C# 2.0, beginning in chapter three with arguably the most important addition to the language to date, generics. The basics of generics is explored as well as an in depth look at some of the generic collection classes available in .NET 2.0.

Chapter four dives into nullable types in C# and chapter five looks at how delegates have been improved from what was available in C# 1.0. This is probably the one chapter that all intermediate C# programmers should read. In chapter six, Skeet illustrates how the yield statement has alleviated the pain of implementing iterators in C# classes.

Chapter seven summarizes the remaining new C# 2.0 features including partial types, static classes, namespace aliases and pragma directives.

Part three, on C# 3.0, starts off in chapter eight with a look at the new compiler features in the current version. These new features can make your C# code more concise and readable, most notably by adding anonymous types, implicit typing with the var keyword, and simplifying initilization of types and collections.

Chapters nine and ten cover lambda expressions, expression trees and extension methods. Skeet does a fantastic job of illustrating how all these new features help developers' code evolve as it moves from version to version of C#. Chapter ten wraps up with some guidelines to using extension methods in a way that makes sense and makes your code more useful and readable.

Chapters 11 and 12 cover LINQ, the hallmark feature of C# 3.0 and the .NET Framework 3.5. Chapter 11 looks at LINQ to Objects. LINQ query expression basics are covered first, followed by some more advanced features like filtering, sorting, joins and groupings. Chapter 12 examines other LINQ implementations in .NET 3.5: LINQ to SQL, LINQ to XML, LINQ to DataSet and wraps up with a look at some third party LINQ providers available.

Chapter 13 wraps-up with some best practices in implementing solutions in C# and looks into the future of C#... parallel programming.

Published at DZone with permission of its author, Alvin Ashcraft.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Michael Heinrich replied on Sat, 2009/02/07 - 2:08am

 

Hello,

I would like a chance at winning a copy of C# in Depth. I currently use C# as a Test Automation tool. By using the features of 3.0, my Test Harness designs and lightweight test automation suites are easier to create and implement.

From test case data stores to log files and system events, the need for a rock solid language and supportive underpinnings to create such tasks has become a major factor in my quest to give my customers the quality software they deserve.

 

Using the .NET Framework 3.5 and C# 3.0 together has allowed me to do just that!

 

celeron504

Amr Lafi replied on Sat, 2009/02/07 - 8:01am

Hey, I'm a seasoned ASP.NET developer and eager to learn C# 3.0 , i bought "Accelerated C# 2008" but was not the good and miss a lot of details ! I hope this book will assist me with C# 3.0 new features with DETAILED examples and use cases !

Bryan Migliorisi replied on Sat, 2009/02/07 - 8:58pm

Hey,

 I would love a chance to win a copy of this book.  I am currently reading Effective C# (first and second editions) and this bok will help me understand the language even better.

As an ASP.NET developer, knowing the language better allows me to write better, more optimized code which is a necessity when dealing with the web.

 

Thanks,

Bryan Migliorisi

Nick Wang replied on Mon, 2009/02/09 - 1:35pm

I am trying to figure out if it's possible to dynamically construct an express tree.

Santosh Gokak replied on Mon, 2009/02/09 - 1:44pm

HI,

i am an experienced java j2ee developer.currently im plananing top get my hands dirty with .NET.

will this book make climbing the C# ladder more easier?can i get to pace with C# very much using this book?

if so , i would love to win a copy of this.

Thanks,

Santosh Gokak

Catalin Ristache replied on Tue, 2009/02/10 - 8:01am

Hi I'm working now on a new project that is developed using .Net Framework with C#.I was working on a Java project for many years before this. I lead a development group and I've started to get the hold of the new framework but I'm facing architecture and design challenges daily. I'm using "Pro C# 2008 and the NET 3.5 Platform - Fourth Edition" as reference whenever I need more information, but I would very much like to have also "C# in Depth" by my side. Thank you!

KS Kang replied on Tue, 2009/02/10 - 12:15pm

Using .NET 3.5 to build distributed client-service based applications:

  • WPF with Prism as the UI client and deployed using ClickOnce; 
  • Same LOB application on SilverLight2 using the same WPF modules (hosted with different Shell) for web deployment;
  • WCF to abstract the complexity of service-oriented communication layers;
  • MSMQ v4.0 for reliable messaging
  • WF for the services virtualisations, orchestrations and transactional scope
  • ORM? No way. LINQ is good enough! And we even use LINQ on AD :)
  • VSTS for unit test, performance test on WCF services 
  • Client Application Service for WPFclients authentications and authorisations
And etc. What can I say: we are big fan of .net :)

Allahbaksh Asadullah replied on Sat, 2009/02/14 - 8:53am

I think as Java developer switching to C# is a bit difficult. The need books which gives deeper dive into C# language and usage is very important. For example C# Refelection scores over Java and even language structure is also very good. But Visual Studio sucks. As Manning has always kept it promise of best available books this book also will give the reader insight into C#. I am looking forward for winning this book

Jin Mingjian replied on Sun, 2009/02/22 - 8:58am

C# is good, although I like Java more:)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.