Chapter 1: Making the Most of the Type System
Chapter 2: Value and Reference Types
Chapter 3: Reference and Value Parameters
Chapter 4: Implicit and Explicit Copying
Chapter 5: Types of Equality
Chapter 6: The Nature of Values
Chapter 7: Value Types and Polymorphism
Chapter 8: Performance and Efficiency
Appendix: Further Reading
The C# Type System
The type system is the foundation upon which all C# programs are built. The C# Type System will show you how to define and implement value types effectively, and write more performant and robust code. Real-world code examples and test cases throughout will elevate your programming with C# and show you how best to implement the principles you’re learning.
Among the core aspects of working with the type system, you’ll learn:
- How user-defined value types, and even simple types, can enhance your code’s readability
- How reference and value types differ within C#
- How method parameters and arguments relate to reference and value types
- How differences in copy semantics between value and reference types affect a program’s behavior
- How the different methods of value comparisons for equality work behind the scenes
- The unique characteristics and roles of various types in an application, especially how value types go beyond mere data storage
- Why inheritance isn’t optimal for value types
- How to measure and evaluate the performance of an app’s use of different data types
Whether you’re a novice or seasoned programmer, you’ll find The C# Type System indispensable in your efforts to turn good code into great.
"A detailed analysis of low-level aspects of C# and .NET memory management and performance."
—Jon Skeet, Senior Staff Engineer at Google and Convenor of the ECMA Technical Group for C# Standardization