TIENE EN SU CESTA DE LA COMPRA
en total 0,00 €
Description Back Cover Contents Author Reviews
Description
C# has matured over the past decade: It's now a rich language with generics, functional programming concepts, and support for both static and dynamic typing. This palette of techniques provides great tools for many different idioms, but there are also many ways to make mistakes. In Effective C#, Second Edition, respected .NET expert Bill Wagner identifies fifty ways you can leverage the full power of the C# 4.0 language to express your designs concisely and clearly.
Effective C#, Second Edition, follows a clear format that makes it indispensable to hundreds of thousands of developers: clear, practical explanations, expert tips, and plenty of realistic code examples. Drawing on his unsurpassed C# experience, Wagner addresses everything from types to resource management to dynamic typing to multicore support in the C# language and the .NET framework. Along the way, he shows how to avoid common pitfalls in the C# language and the .NET environment. You'll learn how to
Use both types of C# constants for efficiency and maintainability (see Item 2)
Employ immutable data types to promote multicore processing (see Item 20)
Minimize garbage collection, boxing, and unboxing (see Items 16 and 45)
Take full advantage of interfaces and delegates (see Items 22 though 25)
Make the most of the parallel framework (see Items 35 through 37)
Use duck typing in C# (see Item 38)
Spot the advantages of the dynamic and Expression types over reflection (see Items 42 and 43)
Assess why query expressions are better than loops (see Item 8)
Understand how generic covariance and contravariance affect your designs (see Item 29)
See how optional parameters can minimize the number of method overloads (see Item 10)
You're already a successful C# programmer-this book will help you become an outstanding one.
top
Back Cover
C# has matured over the past decade: It's now a rich language with generics, functional programming concepts, and support for both static and dynamic typing. This palette of techniques provides great tools for many different idioms, but there are also many ways to make mistakes. In Effective C#, Second Edition, respected .NET expert Bill Wagner identifies fifty ways you can leverage the full power of the C# 4.0 language to express your designs concisely and clearly.
Effective C#, Second Edition, follows a clear format that makes it indispensable to hundreds of thousands of developers: clear, practical explanations, expert tips, and plenty of realistic code examples. Drawing on his unsurpassed C# experience, Wagner addresses everything from types to resource management to dynamic typing to multicore support in the C# language and the .NET framework. Along the way, he shows how to avoid common pitfalls in the C# language and the .NET environment. You'll learn how to
Use both types of C# constants for efficiency and maintainability (see Item 2)
Employ immutable data types to promote multicore processing (see Item 20)
Minimize garbage collection, boxing, and unboxing (see Items 16 and 45)
Take full advantage of interfaces and delegates (see Items 22 though 25)
Make the most of the parallel framework (see Items 35 through 37)
Use duck typing in C# (see Item 38)
Spot the advantages of the dynamic and Expression types over reflection (see Items 42 and 43)
Assess why query expressions are better than loops (see Item 8)
Understand how generic covariance and contravariance affect your designs (see Item 29)
See how optional parameters can minimize the number of method overloads (see Item 10)
You're already a successful C# programmer-this book will help you become an outstanding one.
top
Contents
Introduction xiii
Chapter 1: C# Language Idioms 1
Item 1: Use Properties Instead of Accessible Data Members 1
Item 2: Prefer readonly to const 8
Item 3: Prefer the is or as Operators to Casts 12
Item 4: Use Conditional Attributes Instead of #if 20
Item 5: Always Provide ToString() 28
Item 6: Understand the Relationships Among the Many Different Concepts of Equality 36
Item 7: Understand the Pitfalls of GetHashCode() 44
Item 8: Prefer Query Syntax to Loops 51
Item 9: Avoid Conversion Operators in Your APIs 56
Item 10: Use Optional Parameters to Minimize Method Overloads 60
Item 11: Understand the Attraction of Small Functions 64
Chapter 2: .NET Resource Management 69
Item 12: Prefer Member Initializers to Assignment Statements 74
Item 13: Use Proper Initialization for Static Class Members 77
Item 14: Minimize Duplicate Initialization Logic 79
Item 15: Utilize using and try/finally for Resource Cleanup 87
Item 16: Avoid Creating Unnecessary Objects 94
Item 17: Implement the