Books & Videos

Table of Contents

  1. Chapter 1 Introducing C#

    1. Why C#? Why .NET?

    2. The .NET Framework Class Library

    3. Language Style

    4. C# 4.0, .NET 4, and Visual Studio 2010

    5. Summary

  2. Chapter 2 Basic Programming Techniques

    1. Getting Started

    2. Namespaces and Types

    3. Projects and Solutions

    4. Comments, Regions, and Readability

    5. Variables

    6. Expressions and Statements

    7. Flow Control with Selection Statements

    8. Iteration Statements

    9. Methods

    10. Summary

  3. Chapter 3 Abstracting Ideas with Classes and Structs

    1. Divide and Conquer

    2. Defining Classes

    3. Related Constants with enum

    4. Value Types and Reference Types

    5. Too Many Constructors, Mr. Mozart

    6. Overloading

    7. Object Initializers

    8. Defining Methods

    9. Static Fields and Properties

    10. Summary

  4. Chapter 4 Extensibility and Polymorphism

    1. Association Through Composition and Aggregation

    2. Inheritance and Polymorphism

    3. Replacing Methods in Derived Classes

    4. Inheritance and Protection

    5. Calling Base Class Methods

    6. Thus Far and No Farther: sealed

    7. Requiring Overrides with abstract

    8. All Types Are Derived from Object

    9. C# Does Not Support Multiple Inheritance of Implementation

    10. C# Supports Multiple Inheritance of Interface

    11. Deriving Interfaces from Other Interfaces

    12. The Last Resort: Checking Types at Runtime

    13. Summary

  5. Chapter 5 Composability and Extensibility with Delegates

    1. Functional Composition with delegate

    2. Generic Actions with Action<T>

    3. Generic Predicates with Predicate<T>

    4. Using Anonymous Methods

    5. Creating Delegates with Lambda Expressions

    6. Delegates in Properties

    7. Generic Delegates for Functions

    8. Notifying Clients with Events

    9. Summary

  6. Chapter 6 Dealing with Errors

    1. When and How to Fail

    2. Returning Error Values

    3. Exceptions

    4. Summary

  7. Chapter 7 Arrays and Lists

    1. Arrays

    2. List<T>

    3. Collections and Polymorphism

    4. Summary

  8. Chapter 8 LINQ

    1. Query Expressions

    2. LINQ Concepts and Techniques

    3. LINQ Operators

    4. Summary

  9. Chapter 9 Collection Classes

    1. Dictionaries

    2. HashSet and SortedSet

    3. Queues

    4. Linked Lists

    5. Stacks

    6. Summary

  10. Chapter 10 Strings

    1. What Is a String?

    2. The String and Char Types

    3. Literal Strings and Chars

    4. Formatting Data for Output

    5. Culture Sensitivity

    6. Accessing Characters by Index

    7. Strings Are Immutable

    8. Getting a Range of Characters

    9. Composing Strings

    10. Manipulating Text

    11. Finding and Replacing Content

    12. All Sorts of “Empty” Strings

    13. Trimming Whitespace

    14. Checking Character Types

    15. Encoding Characters

    16. Summary

  11. Chapter 11 Files and Streams

    1. Inspecting Directories and Files

    2. Examining Directories

    3. Manipulating File Paths

    4. Examining File Information

    5. Creating Temporary Files

    6. Deleting Files

    7. Well-Known Folders

    8. Concatenating Path Elements Safely

    9. Creating and Securing Directory Hierarchies

    10. Deleting a Directory

    11. Writing Text Files

    12. When Files Go Bad: Dealing with Exceptions

    13. Reading Files into Memory

    14. Streams

    15. Reading, Writing, and Locking Files

    16. FileStream Constructors

    17. Asynchronous File Operations

    18. Isolated Storage

    19. Streams That Aren’t Files

    20. Summary

  12. Chapter 12 XML

    1. XML Basics (A Quick Review)

    2. X Stands for eXtensible

    3. Creating XML Documents

    4. Searching in XML with LINQ

    5. XML Serialization

    6. Summary

  13. Chapter 13 Networking

    1. Choosing a Networking Technology

    2. WCF

    3. HTTP

    4. Sockets

    5. Other Networking Features

    6. Summary

  14. Chapter 14 Databases

    1. The .NET Data Access Landscape

    2. The Entity Data Model

    3. Queries

    4. Object Context

    5. WCF Data Services

    6. Summary

  15. Chapter 15 Assemblies

    1. .NET Components: Assemblies

    2. Naming

    3. Loading

    4. Summary

  16. Chapter 16 Threads and Asynchronous Code

    1. Threads

    2. Synchronization Primitives

    3. Asynchronous Programming

    4. The Task Parallel Library

    5. Data Parallelism

    6. Summary

  17. Chapter 17 Attributes and Reflection

    1. Attributes

    2. Reflection

    3. Summary

  18. Chapter 18 Dynamic

    1. Static Versus Dynamic

    2. The dynamic Type

    3. dynamic in Noninterop Scenarios?

    4. Summary

  19. Chapter 19 Interop with COM and Win32

    1. Importing ActiveX Controls

    2. Interop Assemblies

    3. 64-bit Versus 32-bit

    4. P/Invoke

    5. Pointers

    6. C# 4.0 Interop Syntax Enhancements

    7. Summary

  20. Chapter 20 WPF and Silverlight

    1. Xaml and Code Behind

    2. Elements and Controls

    3. Control Templates

    4. Data Binding

    5. Summary

  21. Chapter 21 Programming ASP.NET Applications

    1. Web Forms Fundamentals

    2. Creating a Web Application

    3. Data Binding

    4. Summary

  22. Chapter 22 Windows Forms

    1. Creating the Application

    2. Controls

    3. Data Binding

    4. Event Handling

    5. Summary

  1. Colophon