Book Details:
By: Ian Griffiths, Matthew Adams, Jesse Liberty
Publisher: O'Reilly Media
Print: August 2010
Ebook: July 2010
Pages: 856
Print ISBN:978-0-596-15983-2 | ISBN 10:0-596-15983-8
Ebook ISBN:978-1-4493-9397-7 | ISBN 10:1-4493-9397-7
About the Book
With its support for dynamic programming, C# 4.0 continues to evolve as a versatile language on its own. But when C# is used with .NET Framework 4, the combination is incredibly powerful. This bestselling tutorial shows you how to build web, desktop, and rich Internet applications using C# 4.0 with .NET's database capabilities, UI framework (WPF), extensive communication services (WCF), and more.
In this sixth edition, .NET experts Ian Griffiths, Matthew Adams, and Jesse Liberty cover the latest enhancements to C#, as well as the fundamentals of both the language and framework. You'll learn concurrent programming with C# 4.0, and how to use .NET tools such as the Entity Framework for easier data access, and the Silverlight platform for browser-based RIA development.
- Learn C# fundamentals, such as variables, flow control, loops, and methods
- Build complex programs with object-oriented and functional programming techniques
- Process large collections of data with the native query features in LINQ
- Communicate across networks with Windows Communication Foundation (WCF)
- Learn the advantages of C# 4.0's dynamic language features
- Build interactive Windows applications with Windows Presentation Foundation (WPF)
- Create rich web applications with Silverlight and ASP.NET
Table of Contents
Chapter 1 : Introducing C#
Why C#? Why .NET?
The .NET Framework Class Library
Language Style
C# 4.0, .NET 4, and Visual Studio 2010
Summary
Chapter 2 : Basic Programming Techniques
Getting Started
Namespaces and Types
Projects and Solutions
Comments, Regions, and Readability
Variables
Expressions and Statements
Flow Control with Selection Statements
Iteration Statements
Methods
Summary
Chapter 3 : Abstracting Ideas with Classes and Structs
Divide and Conquer
Defining Classes
Related Constants with enum
Value Types and Reference Types
Too Many Constructors, Mr. Mozart
Overloading
Object Initializers
Defining Methods
Static Fields and Properties
Summary
Chapter 4 : Extensibility and Polymorphism
Association Through Composition and Aggregation
Inheritance and Polymorphism
Replacing Methods in Derived Classes
Inheritance and Protection
Calling Base Class Methods
Thus Far and No Farther: sealed
Requiring Overrides with abstract
All Types Are Derived from Object
C# Does Not Support Multiple Inheritance of Implementation
C# Supports Multiple Inheritance of Interface
Deriving Interfaces from Other Interfaces
The Last Resort: Checking Types at Runtime
Summary
Chapter 5 : Composability and Extensibility with Delegates
Functional Composition with delegate
Generic Actions with Action<T>
Generic Predicates with Predicate<T>
Using Anonymous Methods
Creating Delegates with Lambda Expressions
Delegates in Properties
Generic Delegates for Functions
Notifying Clients with Events
Summary
Chapter 6 : Dealing with Errors
When and How to Fail
Returning Error Values
Exceptions
Summary
Chapter 7 : Arrays and Lists
Arrays
List<T>
Collections and Polymorphism
Summary
Chapter 8 : LINQ
Query Expressions
LINQ Concepts and Techniques
LINQ Operators
Summary
Chapter 9 : Collection Classes
Dictionaries
HashSet and SortedSet
Queues
Linked Lists
Stacks
Summary
Chapter 10 : Strings
What Is a String?
The String and Char Types
Literal Strings and Chars
Formatting Data for Output
Culture Sensitivity
Accessing Characters by Index
Strings Are Immutable
Getting a Range of Characters
Composing Strings
Manipulating Text
Finding and Replacing Content
All Sorts of “Empty” Strings
Trimming Whitespace
Checking Character Types
Encoding Characters
Summary
Chapter 11 : Files and Streams
Inspecting Directories and Files
Examining Directories
Manipulating File Paths
Examining File Information
Creating Temporary Files
Deleting Files
Well-Known Folders
Concatenating Path Elements Safely
Creating and Securing Directory Hierarchies
Deleting a Directory
Writing Text Files
When Files Go Bad: Dealing with Exceptions
Reading Files into Memory
Streams
Reading, Writing, and Locking Files
FileStream Constructors
Asynchronous File Operations
Isolated Storage
Streams That Aren’t Files
Summary
Chapter 12 : XML
XML Basics (A Quick Review)
X Stands for eXtensible
Creating XML Documents
Searching in XML with LINQ
XML Serialization
Summary
Chapter 13 : Networking
Choosing a Networking Technology
WCF
HTTP
Sockets
Other Networking Features
Summary
Chapter 14 : Databases
The .NET Data Access Landscape
The Entity Data Model
Queries
Object Context
WCF Data Services
Summary
Chapter 15 : Assemblies
.NET Components: Assemblies
Naming
Loading
Summary
Chapter 16 : Threads and Asynchronous Code
Threads
Synchronization Primitives
Asynchronous Programming
The Task Parallel Library
Data Parallelism
Summary
Chapter 17 : Attributes and Reflection
Attributes
Reflection
Summary
Chapter 18 : Dynamic
Static Versus Dynamic
The dynamic Type
dynamic in Noninterop Scenarios?
Summary
Chapter 19 : Interop with COM and Win32
Importing ActiveX Controls
Interop Assemblies
64-bit Versus 32-bit
P/Invoke
Pointers
C# 4.0 Interop Syntax Enhancements
Summary
Chapter 20 : WPF and Silverlight
Xaml and Code Behind
Elements and Controls
Control Templates
Data Binding
Summary
Chapter 21 : Programming ASP.NET Applications
Web Forms Fundamentals
Creating a Web Application
Data Binding
Summary
Chapter 22 : Windows Forms
Creating the Application
Controls
Data Binding
Event Handling
Summary
Colophon
About the Authors
Ian Griffiths
Ian Griffiths is an independent WPF consultant, developer, speaker and Pluralsight instructor and a widely recognized expert on the subject. He lives in London but can often be found on various developer mailing lists and newsgroups, where a popular sport is to see who can get him to write the longest email in reply to the shortest possible question.
Ian maintains a popular blog at http://www.interact-sw.co.uk/iangblog/ and is co-author of "Windows Forms in a Nutshell" and of "Mastering Visual Studio .NET".
Matthew Adams
Matthew is the Director of Development at Digital Healthcare Ltd. The last three years have kept him fully occupied in the development of a C#/.NET-based distributed imaging platform for healthcare applications. Before that, he studied Natural Sciences at Cambridge University, worked on banking and imaging applications in North America, became a fully-paid-up C++ junkie, and was the lead architect on software solutions for drug-discovery for a large US corporation. He thinks that .NET is a major philosophical stride forward for the computer industry: so much so that he almost doesn't miss his first love - generics - in C#. He has written articles and given papers on the subject to both technical and non-technical audiences, and looks forward to the day when he doesn't have to answer the question 'So, what is .NET?' any more!
Jesse Liberty
Jesse Liberty, "Silverlight Geek", is a senior program manager for Microsoft Silverlight in the Silverlight Development Division where he is responsible for the creation of tutorials, videos and other content to facilitate the learning and use of Silverlight.
Even before joining Microsoft, Jesse is well known in the industry in part because of his many bestselling books, including O'Reilly Media's Programming .NET 3.5, Programming C# 3.0, Learning ASP.NET with AJAX and the soon to be published Programming Silverlight. He has over two decades experience writing software, consulting and training, with stints as at AT&T as a Distinguished Software Engineer and at Citibank as a Vice President in the Information Division.
No comments:
Post a Comment