●Chapter 1 C# Language Idioms 1
●Item 1: Prefer Implicitly Typed Local Variables 1
●Item 2: Prefer readonly to const 7
●Item 3: Prefer the is or as Operators to Casts 12
●Item 4: Replace string.Format() with Interpolated Strings 19
●Item 5: Prefer FormattableString for Culture-Specific Strings 23
●Item 6: Avoid String-ly Typed APIs 26
●Item 7: Express Callbacks with Delegates 28
●Item 8: Use the Null Conditional Operator for Event Invocations 31
●Item 9: Minimize Boxing and Unboxing 34
●Item 10: Use the new Modifier Only to React to Base Class Updates 38
●Chapter 2 .NET Resource Management 43
●Item 11: Understand .NET Resource Management 43
●Item 12: Prefer Member Initializers to Assignment Statements 48
●Item 13: Use Proper Initialization for Static Class Members 51
●Item 14: Minimize Duplicate Initialization Logic 53
●Item 15: Avoid Creating Unnecessary Objects 61
●Item 16: Never Call Virtual Functions in Constructors 65
●Item 17: Implement the Standard Dispose Pattern 68
●Chapter 3 Working with Generics 77
●部分目錄