|
||||||||
Chapter 1, "C# Preview," gives a quick glimpse of what a simple C# application looks like, and it describes some basic differences between the C# programming environment and the native C++ environment.Chapter 2, "C# and the CLR," expands on Chapter 1 and quickly explores the managed environment within which C# applications run. I introduce you to assemblies, the basic building blocks of applications into which C# code files are compiled. Additionally, you'll see how metadata makes assemblies self-describing. Chapter 3, "C# Syntax Overview," surveys the C# language syntax. I introduce you to the two fundamental kinds of types within the CLR: value types and reference types. Chapter 4, "Classes, Structs, and Objects," provides details about defining types in C#. You'll learn more about value types and reference types in the CLR. I also touch upon the native support for interfaces within the CLR and C#. Chapter 5, "Interfaces and Contracts," details interfaces and the role they play in the C# language. Interfaces provide a functionality contract that types may choose to implement. Chapter 6, "Overloading Operators," details how you may provide custom functionality for the built-in operators of the C# language when applied to your own defined types. Chapter 7, "Exception Handling and Exception Safety," shows you the exception-handling capabilities of the C# language and the CLR. Although the syntax is similar to that of C++, creating exception-safe and exception-neutral code is tricky—even more so than creating exception-safe code in native C++. Chapter 8, "Working with Strings," describes how strings are a first-class type in the CLR and how to use them effectively in C#. Chapter 9, "Arrays, Collection Types, and Iterators," covers the various array and collection types available in C#. You can create two types of multidimensional arrays, as well as your own collection types while utilizing collection-utility classes. Chapter 10, "Delegates, Anonymous Functions, and Events," shows you the mechanisms used within C# to provide callbacks. Historically, all viable frameworks have always provided a mechanism to implement callbacks. Chapter 11, "Generics," introduces you to probably the most exciting feature added to C# 2.0 and the CLR. Those familiar with C++ templates will find generics somewhat familiar, though many fundamental differences exist. Chapter 12, "Threading in C#," covers the tasks required in creating multithreaded applications in the C# managed virtual execution environment. Chapter 13, "In Search of C# Canonical Forms," is a dissertation on the best design practices for defining new types and how to make them so you can use them naturally and so consumers won't abuse them inadvertently. Chapter 14, "Extension Methods," covers a feature new to C# 3.0. Since you can invoke extension methods, like instance methods, on a type they extend, they can appear to augment the contract of types. But they are much more than that. Chapter 15, "Lambda Expressions," covers another new feature C# 3.0. You can declare and instantiate delegates using lambda expressions using a syntax that is brief and visually descriptive. Chapter 16, "LINQ: Language Integrated Query," is the culmination of all of the new features of C# 3.0. Using LINQ expressions via the new C# 3.0 LINQ-oriented keywords, you can seamlessly integrate data queries into your code. Download free ebook on C#: Accelerated C# 2008 The EXPERT’s VOIce in .NET
|
| More free ebooks | |
Free programing ebooks
Chapter 1, "C# Preview," gives a quick glimpse of what a simple C# application looks like, and it describes some basic differences between the C# programming environment and the native C++ environment.