C# has changed significantly since it was first introduced. With the many upgraded features, C# is more expressive than ever. However, an in depth understanding is required to get the most out of the language.C# in Depth, Second Edition is a thoroughly revised, up-to-date book that covers the new features of C# 4 as well as Code Contracts. In it, you€™ll see the subtleties of C# programming in action, learning how to work with high-value features that you€™ll be glad to have in your toolkit. The book helps readers avoid hidden pitfalls of C# programming by understanding €œbehind the scenes€ issues.
I like that this book have a friendly tone. It's not a reference book, but C# in Depth is true to its title. You would like this book if you are a C# developer for 2 years or so and now you're tired of solving all problems with the simple tools of for loops and if statements. Maybe it's time for something more. The book assumes that you at least know C# 1.0 (VS 2003 and .NET 1.1) and it moves through C# 2, 3 and 4 to build on the features of each version. Sometimes you'll find this way a little irritating because for example you heard about this LINQ thing and you just want to jump to it, or because of the author's references "we'll discuss this 2 chapters down the road". But I think that the way of moving through each version is helpful because sometimes you'll work on an application that is required to be developed for .NET 2.0 and nothing more. Then, you'll understand that you can't use LINQ, extension methods, etc. The book have a friendly tone with the occasional humor which takes away some of the dullness that comes with reading such a book which is closer to studying than to reading. The author is very knowledgeable of the subject. If you don't know Jon Skeet then probably you haven't been on StackOverflow.com where he is a celebrity.
Sometimes the author would delve too deep into a detail and you'll find yourself totally lost, just continue and you'll get out fine on the other end. You'll find yourself coming back later to that section and going through it once again to better understand. Even if you don't, you'll know enough to remember it when you need it.
One tip, try out the code samples. I found myself building on those samples and trying out different situations. It was helpful.
In short this is a great book if you want to step up your C# skills. I want to thank @EmadMokhtar (Goodreads profile) for the recommendation.
I didn't really like the book at all for the first 3 sections - I felt like it, ironically, didn't give ENOUGH detail.
But then I got to Chapter 12, titled "LINQ beyond collections" and, honestly, was stunned. I'd guess that most of the people in my circle believe that LINQ is a shiny object rather than a powerful functional tool which enables a wide variety of use cases.
So, with that said, bravo, Mr. Skeet. In terms of recommendations, I'd be more likely to refer people to chapters of the book rather than saying, "this is a book that you should purchase", especially in light of the many references to other web sites for clarifying detail, but in the right hands (for example, for people who savor academic learning!), this is a winner.
I know Jon Skeet from my time as a beta tester on Stackoverflow.com - when I learned that he has a book on C#, I immediately grabbed a copy
Once you are past the beginners level of C#, this is THE book to read. Crisp, concise, comprehensive - the author's grasp of the language is stupefying at times given that he works (still?) in Java for his day job. Loved the way the book is like a mini history lesson in the evolution of C# - which is in IMHO the best in terms of how the language has evolved over time. (I was on the C# train from .net 1.1 to 4.5)
Have been fortunate enough to meet Jon and listen to his talks at some Microsoft conferences. A self confessed pedant, Jon has a great passion for C# and development in general. Considering his main job role is in Java he has an astonishing breadth of knowledge of C# presented well in this book.
This book is not for a beginner wanting to learn the basics of the language, more for people wanting to learn the bits most people miss.
If you are an intermediate to the language I would recommend reading this book to anyone.
Highly recommended for all mid-level(or higher) c# developers. As a starting point Troelsen's book on C# would be a better fit. After that if you are ready to dive deeper into c#, go ahead and read "C# in Depth".
"C# in Depth" helps to get significant knowledge about core features of C#. The way Jon Skeet goes over all versions of C# out there, helps to get more insights on different aspects of features and their implementation.
I would say that the most notable part of the book is the fact that Jon Skeet teaches to go deeper and learn with excitement.
I tried reading the book from cover to cover and I failed. I tried reading specific topics related with my current focus and that ROCKS!
Organizing the book based on each version of the language is facilitating reaching your topic easily and get the complete picture about the evolution of C#.
Yet the illustration could be difficult for some topics! (e.g. delegates)
Merged review:
I tried reading the book from cover to cover and I failed. I tried reading specific topics related with my current focus and that ROCKS!
Organizing the book based on each version of the language is facilitating reaching your topic easily and get the complete picture about the evolution of C#.
Třetí edice jedné z nejlepších knihy o jazyce C# (četl jsem i obě předchozí edice). V této edici jsou přidány kapitoly, ve kterých autor rozebírá nové konstrukce v C# 5.0 - hlavně vše, co souvisí s použitím i interní implementací asynchronního kódu (async/await) a v závěrečné kapitole knihy autor popíše i drobná vylepšení poslední verze C# (řešení známého problému s "closure" u anonymních metod a lambda výrazů při zachycení proměnné použité v cyklu foreach a nové atributy ([CallerFilePath],[CallerMemberName], [CallerLineNumber]).
Some good nuggets, but mostly a trail of the various thoughts of Jon Skeet concerning C#. Loosely written, with anecdotal conclusions.
I would have preferred more direct material that I could site as a reference, as opposed to a general feel for new features. I cant see myself looking up passages in the book at a future date.
Very good C# manual. It unrolls some of the language "magic" features (i.e. lambda expressions, delegates, asynchrony and tuple destructions and so on). I would have personally preferred if it went a bit more in the direction of C# best practices. However, I totally understand that this might not be the best venue for that topic. Maybe an idea for another book :)
There's not much I can add to the reviews of Jon Skeet's "C# in Depth," so I'll say this: as a relatively new developer, I ignored the advice of the reviews ("this book is not for less experienced programmers") and immediately read this book. While I agree with the sentiment that people like me should approach the book with caution, I highly value the exposure that it gives to the inner workings of C#. What's more, the difficulty of this material gave me an idea: as each new edition comes out, I'll read it as a way of measuring my growth as a developer.
At any rate, I feel a lot more comfortable with C# because of the historical perspective and casual discussion style that Jon presents. I recommend this book to stubborn new developers brave enough to look at the guts of C#, and like everyone else, but in as naive a tone as I can muster, I especially recommend this book to experienced developers who want a deeper understanding of C#.
All the exposure to this advanced material gives me a bird's eye view of the long trek ahead (worthy of the Fellowship of the Ring).
It is rare to see a book that simply explains the features of a language being so engrossing while informative at the same time. Jon Skeet takes us from C# 1 through 4 and does a great job of explaining how one feature builds upon another, what the gotchas are, what the pros and cons are of a feature, how the language has progressed from wordy to extremely sleek and competent.
There are many things to recommend about the book. First, I liked the way that Skeet touches upon features from C# 1 and how code in that version gets transformed into increasingly elegant code as you progress through the versions. Second, I appreciated how when he goes into some obscure example, it is still very illuminating (for example, the Microsoft CCR use of iterators). Third, the order of the chapters is exactly right – Getting the natural progression can be tricky sometimes. There is little fluff. Some of the chapters have topics that could have been intimidating, but Skeet spends enough time to explain them through simple examples. There is good attention to detail (editing) – the notes clarify where future C# versions may have changed some of the original assumptions in a previous version.
I'll keep it simple and to the point: Best take aways from this book (YMMV): * Chapter 14, about DLR and the dynamic keyword: Probably the MOST comprehensive and detailed material available in any form book/article/blog/whitepaper. The amount of information Jon Skeet gives you in this chapter about the dynamic keyword is simply immeasurable. * Chapter 9, about Lambda expressions and Expression trees: Using 'Func' in my code has never come to me naturally (never before, I should say). Now I know what I was missing!
I agree with a post made by another user here that the book is not for a novice, but the title of the book C# IN DEPTH, clearly indicates it.
Simple and effective language, clear and concise code samples make reading this book well worth it.
It's really brialliant book! When I start to read I can not stop. Skeet collects all professional and very usefull advices in one book. I think everyone find something usefull in this. Although, the first chapters seem me too easy. But then chapter by chapter information becomes more interesting and more difficult for understanding. On the other hand I am sure if you read this through thick and thin you will get an excellent knowlodges. Skeet's book is the best book in my home collection. And I surely will recommend this to all programmers friends.
Very technical, it is supported both from theoretical way and from practical way. Some sections are very hard to grasp, that are advanced which most of people are not using, but it is good to know. It is like knowing what is under cars hood, how it works and how to disassemble and put it back again without breaking it. I liked that Jon Skeet did not delve into anything that is not associated directly with c# (like .net library, cls or jit), but he distinguished the boundaries of other items and how they play together with c# very briefly.
If you are fan of C# then this is a book you should read. Jon provides detail insight into the inner workings of C# language with a little bit of wit and humility. I doubt even Eric Lippert could read this book without learning something. In fact he kind of says that in the introduction. Anyway this is a good piece of work, but made my head spin and explode several times. I look forward to reading it again so I can start to make sense of some of the chapters.
This is "THE" book I recommend to all my colleagues who're learning C# from scratch. I read it back to back a few years back when it was release and it's served me really well. The tone is quite friendly and readable, unsurprising since Jon's passion for the subject really comes through. For eg. I loved the visual representations of how join queries in Linq are iterated at a lower level. His explanation of concepts is hard to forget once read.
If you haven't read this book then you probably haven't mastered C#, unless you actually read the entire Microsoft specification, in which case you have too much free time. This was well written with perfectly concise code samples. After reading I feel I can say I'm an expert in C# with all honesty.
A super book for knowing C# in depth as title suggests. This is not the book for beginners of the language.Being an Englishman , i think jon wrote this book with two purposes in mind - one being explaining nitty gritty of C#, and other being clarifying misconceptions and correcting misinformation available on C# on the web.
Great book for all junior C# developers wanting to become a senior one. For people that are in the C# world for a longer time, slightly less interesting except the parts where it really goes deep - like the ones where decompiled code for async/await is presented with great explanation. Overall - recommended (although you will probably skip some parts as I did)!
If I were to recommend a good C# book, this book is one of them. Not only Jon were able to explain advanced features of C# in a cleanly manner, he offers various techniques to make use of them in a simple manner as well.
Ever since I've read the book, I was able to handle generics, lambda, linq queries gracefully and cleanly. I highly recommend the book material.
Nice and clear. I liked the IL and Noda Time samples and the samples overall, they were as simple as possible. When I write code, I try to apply some of the suggestions and features he presented, some of them I was aware of, but I didn't know how to make use of them, effectively; some of them were new for me.
As a Java dev starting on a C# project I found C# in Depth a fascinating read. Jon Skeet demonstrated the evolution of C# into a very expressive language. Reading the book got me more excited about writing C# code & exploring the language in practice.
Wow. My mind is still spinning from all the deep implementation details the author provides for everything from LINQ to asynchrony in C# 5.0. This is certainly a classic reference time that will remain on my shelf for years - must read for any C# programmer!
Отличная книга. Расширяет кругозор и понимание того, что стоит за привычными конструкциями языка. Позволяет увидеть новые интересные подходы к привычным вещам, либо совершенно новые возможности. Строго рекомендую к прочтению!
At first glance it looks as Jon Skeet has picked up only a few topics to explain. After reading the book I found that these are the major and most important topics of the language progress. Every topic is very well written and very well explained.