C# in Depth: What you need to master C# 2 and 3
C# in Depth is a completely new book designed to propel existing C# developers to a higher level of programming skill. One simple principle drives this book: explore a few things deeply rather than offer a shallow view of the whole C# landscape. If you often find yourself wanting just a little more at the end of a typical chapter, this is the book for you.
Expert author Jon Skeet dives into the C# language, plumbing new C# 2 and 3 features and probing the core C# language concepts that drive them. This unique book puts the new features into context of how C# has evolved without a lengthy rehearsal of the full C# language.
C# in Depth briefly examines the history of C# and the .NET framework and reviews a few often-misunderstood C# 1 concepts that are very important as the foundation for fully exploiting C# 2 and 3. Because the book addresses C# 1 with a light touch, existing C# developers don't need to pick through the book in order to find new material to enhance their skills.
This book focuses on the C# 2 and 3 versions of the language, but clearly explains where features are supported by changes in the runtime (CLR) or use new framework classes. Each feature gets a thorough explanation, along with a look on how you'd use it in real life applications.



(5 votes, average: 3.4 out of 5)
This book addresses the fundamental units of Windows and .NET programming - threads. A strong understanding of the role threads play in program execution, how multiple threads can interact in order to make efficient programs, and the pitfalls to beware of when developing multithreaded applications, are all core to a developer's ability to develop effective C# programs. This book will cover how .NET applications are executed, the life cycle of a thread in .NET, how the .NET Framework uses threads, how threads work in an event-driven environment, how we can avoid race conditions and deadlocks, how the activity of multiple threads can be synchronized, and how to debug multithreaded applications. We finish it off by describing the creation of a multithreaded network application.












