8th Edition. — Redmond: Microsoft Press, 2015. —- 1968 p. — ISBN 978-1-5093-0104-1.
This book assumes that you are a developer who wants to learn the fundamentals of programming with C# by using Visual Studio 2015 and the .NET Framework version 4.6. By the time you complete this book, you will have a thorough understanding of C# and will have used it to build responsive and scalable applications that can run on the Windows 10 operating system.
Учебник по основам программирования на C# с использованием Visual Studio 2015 от создателя языка C# Джона Шарпа.
Introducing Microsoft Visual C# and Microsoft Visual Studio 2015Welcome to C#Beginning programming with the Visual Studio 2015 environment
Writing your first program
Using namespaces
Creating a graphical application
Quick Reference
Working with variables, operators, and expressionsUnderstanding statements
Using identifiers
Using variables
Working with primitive data types
Using arithmetic operators
Incrementing and decrementing variables
Declaring implicitly typed local variables
Quick Reference
Writing methods and applying scopeCreating methods
Applying scope
Writing methods
Using optional parameters and named arguments
Quick reference
Using decision statementsDeclaring Boolean variables
Using Boolean operators
Using if statements to make decisions
Using switch statements
Quick reference
Using compound assignment and iteration statementsUsing compound assignment operators
Writing while statements
Writing for statements
Writing do statements
Quick reference
Managing errors and exceptionsCoping with errors
Trying code and catching exceptions
Using checked and unchecked integer arithmetic
Throwing exceptions
Using a finally block
Quick reference
Understanding the C# Object modelCreating and managing classes and objectsUnderstanding classification
The purpose of encapsulation
Defining and using a class
Controlling accessibility
Understanding static methods and data
Quick reference
Understanding values and referencesCopying value type variables and classes
Understanding null values and nullable types
Using ref and out parameters
How computer memory is organized
The System.Object class
Boxing
Unboxing
Casting data safely
Quick reference
Creating value types with enumerations and structuresWorking with enumerations
Working with structures
Quick reference
Using arraysDeclaring and creating an array
Populating and using an array
Copying arrays
Using multidimensional arrays
Quick reference
Understanding parameter arraysOverloading—a recap
Using array arguments
Comparing parameter arrays and optional parameters
Quick reference
Working with inheritanceWhat is inheritance?
Using inheritance
Understanding extension methods
Quick reference
Creating interfaces and defining abstract classesUnderstanding interfaces
Abstract classes
Sealed classes
Quick reference
Using garbage collection and resource managementThe life and times of an object
Resource management
Implementing exception-safe disposal
Quick reference
Defining extensible types with C#Implementing properties to access fieldsImplementing encapsulation by using methods
What are properties?
Understanding the property restrictions
Declaring interface properties
Generating automatic properties
Initializing objects by using properties
Quick reference
Using indexersWhat is an indexer?
Indexers in interfaces
Using indexers in a Windows application
SummaryQuick reference
Introducing genericsThe problem with the object type
The generics solution
Creating a generic class
Creating a generic method
Variance and generic interfaces
Quick reference
Using collectionsWhat are collection classes?
Using collection initializers
The Find methods, predicates, and lambda expressions
Comparing arrays and collections
Quick reference
Enumerating collectionsEnumerating the elements in a collection
Implementing an enumerator by using an iterator
Quick reference
Decoupling application logic and handling eventsUnderstanding delegates
Lambda expressions and delegates
Enabling notifications by using events
Understanding user interface events
Quick reference
Querying in-memory data by using query expressionsWhat is LINQ?
Using LINQ in a C# application
Quick reference
Operator overloadingUnderstanding operators
Understanding compound assignment evaluation
Declaring increment and decrement operators
Comparing operators in structures and classes
Defining operator pairs
Implementing operators
Understanding conversion operators
Quick reference
Building Universal Windows Platform applications with C#Improving throughput by using tasksWhy perform multitasking by using parallel processing?
Implementing multitasking by using the Microsoft .NET Framework
Canceling tasks and handling exceptions
Quick reference
Improving response time by performing asynchronous operationsImplementing asynchronous methods
Using PLINQ to parallelize declarative data access
Synchronizing concurrent access to data
Quick reference
Implementing the user interface for a Universal Windows Platform appFeatures of a Universal Windows Platform app
Using the Blank App template to build a Universal Windows Platform app
Quick reference
Displaying and searching for data in a Universal Windows Platform appImplementing the Model-View-ViewModel pattern
Searching for data using Cortana
Quick reference
Accessing a remote database from a Universal Windows Platform appRetrieving data from a database
Inserting, updating, and deleting data through a REST web service
Quick reference