Written for professional programmers or CS students, this book skips the stuff you don't need and keeps a laser focus on the C# type system. It explains not just what value types and reference types are, but why and how they behave as they do. In particular, by learning the underappreciated benefits of value types, you'll quickly be able to optimize the performance of your applications. The book also offers numerous real-world examples and detailed explanations of targeted techniques, best practices, and common pitfalls. You'll progress from simply writing runnable programs using correct C# syntax to developing modern, idiomatic, and efficient applications that take full advantage of C#'s highly scalable type system.