Effective C # principle 1: Use attributes (property) as much as possible, rather than data members (field)
Effective C # principle 2: Choose ReadOnly instead of const for your constants
Effective C # Principle 3: Select is or as operator instead of coercion type conversion
Effective C # principle 4: precompiling blocks with conditional attributes instead of #if
Effective C # Principle 5: Always provide ToString ()
Effective C # Principle 6: Distinguishing between value type data and reference type data
Effective C # Principle 7: Select constant atomic value type data
Effective C # Principle 8: Ensure that 0 is valid for value-type data
Effective C # Principle 9: Understand the relationship between several equality operations
Effective C # Principle 10: Understand the flaws of GetHashCode ()
Effective C # principle 11: Select a foreach Loop
Effective C # Chapter II:. NET resource Management
Effective C # Principle 12: Select variable initialization instead of assignment statement
Effective C # principle 13: Initializing static members of a class with a static constructor
Effective C # Principle 14: Using a constructor chain
Effective C # Principle 15: Use using and try/finally for resource cleanup
Effective C # Principle 16: Minimization of garbage
Effective C # principle 17: Minimizing the packing and unpacking
Effective C # Principle 18: Implementing standard processing (Dispose) patterns
Effective C # Principle 19: Choose to define and implement interfaces rather than inherit
Effective C # Third chapter, express your design with C #
Effective C # Principle 20: Distinguishing between interface implementations and virtual function overloads
Effective C # Principle 21: Using delegates to represent callbacks
Effective C # Principle 22: Defining an external interface with events
Effective C # Principle 23: Avoid returning references to internal class objects
Effective C # Principle 24: Choosing statement programming instead of imperative programming
Effective C # Principle 25: Allow your type to support serialization
Effective C # Principle 26: Implementing the order relationship of objects with IComparable and IComparer
Effective C # Principle 27: Avoid using icloneable
Effective C # Principle 28: Avoid conversion operations
Effective C # Principle 29: Use the new modifier only when a forced update is made to the base class
Effective C # Chapter 4th: Creating a binary based component
Effective C # Principle 30: Choosing a CLS-compliant assembly
Effective C # Principle 31: Select small and simple functions
Effective C # Principle 32: Select Small and cohesive assemblies
Effective C # Principle 33: Restricting access to types
Effective C # Principle 34: Creating a large-capacity web API
Effective C # Chapter Fifth: Working with the framework
Effective C # Principle 35: Select overriding functions instead of using event handles
Effective C # principle 36: Use. NET Run time diagnostics
Effective C # Principle 37: Using the standard configuration mechanism
Effective C # Principle 38: Using and supporting data binding
Effective C # principle 39: Use. NET validation
Effective C # Principle 40: Select a collection based on requirements
Effective C # Principle 41: Select a dataset instead of a custom data structure
Effective C # Principle 42: Simple Reflection with attributes
Effective C # Principle 43: Do not misuse reflection
Effective C # Principle 44: Create application-specific exception classes
Effective C # Chapter 6th: Miscellaneous
Effective C # Principle 45: Select strong exceptions to protect programs
Effecitve C # principle 46: Minimizing interaction with other unmanaged code
Effective C # Principle 47: Choosing Secure Code
Effective C # Principle 48: Learn more about tools and resources
Effective C # Principle 49: Prepare for c#2.0
Effective C # Principle 50: Understanding ECMA Standards
Other related articles:
"Effective C # Essence" selected
Reduced boxing and unboxing of effective C #
"Effective C #": Using member initialization statements
"Effective C #": Distinguish four of the functions of the sentence
"Effective C #": Value types and reference types
"Effective C #": Implementing Callbacks with delegates