Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
About This eBook
Title Page
Copyright Page
Contents at a Glance
Table of Contents
About the Author
Acknowledgments
We Want to Hear from You!
Reader Services
Introduction
Who Should Read This Book?
What You Need to Know Before You Read This Book
How This Book Is Organized
Chapter 1. Introducing the .NET Platform
A Historical Perspective
A 10,000-Feet View of the .NET Platform
The Common Language Infrastructure
The Multilanguage Aspect of .NET
Introducing .NET Assemblies
The Common Type System Explained
Executing Managed Code
Diving into the Common Language Runtime
The Base Class Library
Summary
Chapter 2. Introducing the C# Programming Language
The Evolution of C#
A Sneak Peek at the Future
Summary
Chapter 3. Getting Started with .NET Development Using C#
Installing the .NET Framework
Your First Application: Take One
Visual Studio 2012
Your First Application: Take Two
Summary
Chapter 4. Language Essentials
The Entry Point
Keywords
A Primer on Types
Built-In Types
Local Variables
Intermezzo on Comments
Arrays
The Null Reference
Nullable Value Types
Summary
Chapter 5. Expressions and Operators
What Are Expressions?
The Evaluation Stack
Arithmetic Operators
String Concatenation
Shift Operators
Relational Operators
Logical Operators
Conditional Operators
An Operator’s Result Type
Null-Coalescing Operator
Assignment
Summary
Chapter 6. A Primer on Types and Objects
Implicit Versus Explicit Conversions
The typeof Operator: A Sneak Peek at Reflection
Default Value Expression
Creating Objects with the new Operator
Member Access
Invocation Expressions
Element Access
Summary
Chapter 7. Simple Control Flow
What Are Statements, Anyway?
Expression Statements
The Empty Statement
Statement Blocks
Declarations
Selection Statements
Iteration Statements
A Peek at Iterators
Loops in the Age of Concurrency
The goto Statement
The return Statement
Summary
Chapter 8. Basics of Exceptions and Resource Management
Exception Handling
Deterministic Resource Cleanup
Locking on Objects
Summary
Chapter 9. Introducing Types
Types Revisited
Classes Versus Structs
Type Members
Summary
Chapter 10. Methods
Defining Methods
Specifying the Return Type
Declaring Parameters
Overloading
Extension Methods
Partial Methods
Extern Methods
Refactoring
Code Analysis
Summary
Chapter 11. Fields, Properties, and Indexers
Fields
An Intermezzo About Enums
Properties
Indexers
Summary
Chapter 12. Constructors and Finalizers
Constructors
Static Constructors
Destructors (Poorly Named Finalizers)
Summary
Chapter 13. Operator Overloading and Conversions
Operators
Conversions
Summary
Chapter 14. Object-Oriented Programming
The Cornerstones of Object Orientation
Inheritance for Classes
Protected Accessibility
Polymorphism and Virtual Members
Abstract Classes
Interface Types
Summary
Chapter 15. Generic Types and Methods
Life Without Generics
Getting Started with Generics
Declaring Generic Types
Using Generic Types
Performance Intermezzo
Operations on Type Parameters
Generic Constraints
Generic Methods
Co- and Contravariance
Summary
Chapter 16. Collection Types
Nongeneric Collection Types
Generic Collection Types
Thread-Safe Collection Types
Other Collection Types
Summary
Chapter 17. Delegates
Functional Programming
What Are Delegates?
Delegate Types
Delegate Instances
Invoking Delegates
Putting It Together: An Extensible Calculator
Case Study: Delegates Used in LINQ to Objects
Asynchronous Invocation
Combining Delegates
Summary
Chapter 18. Events
The Two Sides of Delegates
A Reactive Application
How Events Work
Raising Events, the Correct Way
add and remove Accessors
Detach Your Event Handlers
Recommended Event Patterns
Case Study: INotifyProperty Interfaces and UI Programming
Countdown, the GUI Way
Event Interoperability with WinRT
Introduction to Reactive Programming
Summary
Chapter 19. Language Integrated Query Essentials
Life Without LINQ
LINQ by Example
Query Expression Syntax
Summary
Chapter 20. Language Integrated Query Internals
How LINQ to Objects Works
Standard Query Operators
The Query Pattern
Parallel LINQ
Expression Trees
Summary
Chapter 21. Reflection
Typing Revisited, Static and Otherwise
Reflection
Lightweight Code Generation
Expression Trees
Summary
Chapter 22. Dynamic Programming
The dynamic Keyword in C# 4.0
DLR Internals
Office and COM Interop
Summary
Chapter 23. Exceptions
Life Without Exceptions
Introducing Exceptions
Exception Handling
Throwing Exceptions
Defining Your Own Exception Types
(In)famous Exception Types
Summary
Chapter 24. Namespaces
Organizing Types in Namespaces
Declaring Namespaces
Importing Namespaces
Summary
Chapter 25. Assemblies and Application Domains
Assemblies
Application Domains
Summary
Chapter 26. Base Class Library Essentials
The BCL: What, Where, and How?
The Holy System Root Namespace
Facilities to Work with Text
Summary
Chapter 27. Diagnostics and Instrumentation
Ensuring Code Quality
Instrumentation
Controlling Processes
Summary
Chapter 28. Working with I/O
Files and Directories
Monitoring File System Activity
Readers and Writers
Streams: The Bread and Butter of I/O
A Primer to (Named) Pipes
Memory-Mapped Files in a Nutshell
Overview of Other I/O Capabilities
Summary
Chapter 29. Threading and Synchronization
Using Threads
Thread Pools
Synchronization Primitives
Summary
Chapter 30. Task Parallelism and Data Parallelism
Pros and Cons of Threads
The Task Parallel Library
Task Parallelism
Data Parallelism
Summary
Chapter 31. Asynchronous Programming
Why Asynchronous Programming Matters
Old Asynchronous Programming Patterns
Asynchronous Methods and await Expressions
Behind the Scenes
Advanced Topics
Summary
Chapter 32. Introduction to Windows Runtime
What Is Windows Runtime?
Creating a Windows Runtime Component
Overview of the Windows Runtime APIs
Summary
Index
← Prev
Back
Next →
← Prev
Back
Next →