Home > Store > Programming > C#
Essential C# 4.0,, 3rd Edition
- By Mark Michaelis
- Published Mar 10, 2010 by Addison-Wesley Professional.
- Copyright 2010
- Pages: 984
- Edition: 3rd
- eBook (Watermarked)
- ISBN-10: 0-321-77061-7
- ISBN-13: 978-0-321-77061-5
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
Mark Michaelis is founder and president of IntelliTechture and a trainer with IDesign. His expertise encompasses software architecture, VSTS/TFS, BizTalk, SharePoint, and .NET. He has been honored as a Microsoft MVP for C#, Visual Studio Team System, and the Windows SDK, and is a Microsoft Regional Director. He serves on Microsoft’s C# software design review team and often speaks at developer conferences.
Essential C# 4.0 is a well-organized,“no-fluff” guide to all versions of C# for programmers at all levels of C# experience. This fully updated edition shows how to make the most of C# 4.0’s new features and programming patterns to write code that is simple, yet powerful.
This edition contains two new chapters on parallel programming, multithreading, and concurrency, as well as extensive coverage of new C# 4.0 features: dynamic typing, variance, optional/named parameters, and many other new topics.
Mark Michaelis covers the C# language in depth, illustrating key constructs with succinct, downloadable code examples. Graphical “mind maps” at the beginning of each chapter show what material is covered and how individual topics interrelate. Topics intended for beginners and advanced readers are clearly marked, and the book includes indexes of C# versions (2.0, 3.0, and 4.0), which make it easy for readers to reference topics specific to a given release of C#.
Following an introduction to C#, readers learn about
- Best practices for object-oriented programming in C#
- C# primitive data types, value and reference types, implicitly typed variables, anonymous types, plus dynamic typing in C# 4.0
- Methods and parameters—including extension methods, partial methods, and C# 4.0’s optional and named parameters
- Generics, concurrent collections, and custom collections with iterators
- Delegates, events, and lambda expressions
- Collection interfaces and standard query operators
- Query expressions and the tree expressions on which LINQ providers are based
- Reflection, attributes, and dynamic programming
- Parallel Query Processing with PLINQ
- Multithreaded programming with the Task Parallel Library
- Platform interoperability and unsafe code
- The Common Language Infrastructure that underlies C#
Whether you’re just starting out, are an experienced developer moving to C#, or are a seasoned C# programmer seeking to master C# 4.0’s most valuable enhancements, Essential C# 4.0 will help you write high-quality, highly effective code.
Table of Contents
Contents of C# 4.0 Topics xxv
Figures xxvii
Tables xxix
Foreword xxxi
Preface xxxv
Acknowledgments xlvii
About the Author li
Chapter 1: Introducing C# 1
Hello, World 2
C# Syntax Fundamentals 4
Working with Variables 12
Console Input and Output 16
Comments 20
Managed Execution and the Common Language Infrastructure 23
C# and .NET Versioning 26
Common Intermediate Language and ILDASM 27
Summary 30
Chapter 2: Data Types 31
Fundamental Numeric Types 32
More Fundamental Types 40
null and void 51
Categories of Types 55
Nullable Modifier 57
Conversions between Data Types 58
Arrays 64
Summary 81
Chapter 3: Operators and Control Flow 83
Operators 84
Introducing Flow Control 98
Code Blocks ({}) 105
Scope and Declaration Space 107
Boolean Expressions 109
Bitwise Operators (<<, >>, |, &, ^, ~) 115
Control Flow Statements, Continued 121
Jump Statements 132
C# Preprocessor Directives 138
Summary 145
Chapter 4: Methods and Parameters 149
Calling a Method 150
Declaring a Method 157
The using Directive 161
Returns and Parameters on Main() 165
Parameters 168
Recursion 176
Method Overloading 179
Optional Parameters 182
Basic Error Handling with Exceptions 186
Summary 199
Chapter 5: Classes 201
Declaring and Instantiating a Class 205
Instance Fields 209
Instance Methods 211
Using the this Keyword 213
Access Modifiers 220
Properties 222
Constructors 236
Static Members 247
Extension Methods 256
Encapsulating the Data 258
Nested Classes 260
Partial Classes 262
Summary 267
Chapter 6: Inheritance 269
Derivation 270
Overriding the Base Class 281
Abstract Classes 293
All Classes Derive from System.Object 299
Verifying the Underlying Type with the is Operator 301
Conversion Using the as Operator 302
Summary 303
Chapter 7: Interfaces 305
Introducing Interfaces 306
Polymorphism through Interfaces 307
Interface Implementation 312
Converting between the Implementing Class and Its
Interfaces 318
Interface Inheritance 318
Multiple Interface Inheritance 321
Extension Methods on Interfaces 322
Implementing Multiple Inheritance via Interfaces 323
Versioning 326
Interfaces Compared with Classes 328
Summary 329
Chapter 8: Value Types 331
Structs 332
Boxing 339
Enums 346
Summary 356
Chapter 9: Well-Formed Types 357
Overriding object Members 357
Operator Overloading 369
Referencing Other Assemblies 377
Defining Namespaces 382
XML Comments 385
Garbage Collection 390
Resource Cleanup 393
Lazy Initialization 400
Summary 403
Chapter 10: Exception Handling 405
Multiple Exception Types 405
Catching Exceptions 407
General Catch Block 409
Guidelines for Exception Handling 411
Defining Custom Exceptions 414
Summary 419
Chapter 11: Generics 421
C# without Generics 422
Introducing Generic Types 427
Constraints 439
Generic Methods 453
Covariance and Contravariance 457
Generic Internals 463
Summary 467
Chapter 12: Delegates and Lambda Expressions 469
Introducing Delegates 470
Anonymous Methods 480
System-Defined Delegates: Func<> 483
Lambda Expressions 486
Summary 506
Chapter 13: Events 507
Coding the Observer Pattern with Multicast Delegates 508
Events 523
Summary 533
Chapter 14: Collection Interfaces with Standard Query Operators 535
Anonymous Types and Implicitly Typed Local Variables 536
Collection Initializers 543
What Makes a Class a Collection: IEnumerable<T> 546
Standard Query Operators 552
Summary 586
Chapter 15: LINQ with Query Expressions 589
Introducing Query Expressions 590
Query Expressions as Method Invocations 608
Summary 609
Chapter 16: Building Custom Collections 611
More Collection Interfaces 612
Primary Collection Classes 617
Providing an Index Operator 630
Returning Null or an Empty Collection 634
Iterators 634
Summary 650
Chapter 17: Reflection, Attributes, and Dynamic Programming 651
Reflection 652
Attributes 663
Programming with Dynamic Objects 688
Summary 699
Chapter 18: Multithreading 701
Running and Controlling a Separate Thread 706
Executing Iterations in Parallel 724
Running LINQ Queries in Parallel 734
Multithreading before .NET Framework 4 738
Unhandled Exceptions on the AppDomain 744
Summary 746
Chapter 19: Synchronization and More Multithreading Patterns 749
Synchronization 750
Timers 778
Asynchronous Programming Model 783
Asynchronous Delegate Invocation 797
Event-Based Asynchronous Pattern (EAP) 801
Background Worker Pattern 804
Windows UI Programming 809
Summary 814
Chapter 20: Platform Interoperability and Unsafe Code 815
Platform Invoke 816
Pointers and Addresses 830
Summary 839
Chapter 21: The Common Language Infrastructure 843
Defining the Common Language Infrastructure (CLI) 844
CLI Implementations 845
C# Compilation to Machine Code 847
Runtime 849
Application Domains 854
Assemblies, Manifests, and Modules 855
Common Intermediate Language (CIL) 858
Common Type System (CTS) 858
Common Language Specification (CLS) 859
Base Class Library (BCL) 860
Metadata 860
Summary 862
Appendix A: Downloading and Installing the C# Compiler and the CLI
Platform 865
Appendix B: Full Source Code Listings 869
Appendix C: Concurrent Classes from System.Collections.Concurrent 895
Appendix D: C# 2.0 Topics 899
Appendix E: C# 3.0 Topics 903
Appendix F: C# 4.0 Topics 905
Index 907
eBook (Watermarked)
$43.99
$35.19
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.
Also available in other formats.
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.

