environment and using various tools to create the simplest application possible with C#.
You will learn how to compile C# code at the Command Prompt and how to write and
compile code using Visual Studio. You will also learn about the different .NET platforms:
.NET Framework, .NET Core, and .NET Native.
Chapter 2, Speaking C#, is about the C# language, the grammar and vocabulary that you
will use every day to write the source code for your applications. In particular, you will
learn how to declare and work with variables of different types.
Chapter 3, Controlling the Flow, Converting Types, and Handling Exceptions, is about
writing code that makes decisions, repeats blocks of statements, converts between types,
and handles errors. You will also learn the best places to look for help.
Chapter 4, Using Common .NET Types, is about how .NET types are related to C#. You
will learn about .NET Framework, .NET Core, and their class library assemblies of types
that allow your applications to connect together existing components to perform common
Chapter 5, Using Specialized .NET Types, is about .NET types used to diagnose problems,
support multiple languages and cultures, and access features and applications outside of
Chapter 6, Building Your Own Types with Object-Oriented Programming, is about all the
different categories of members that a type can have, including fields for storing data and
methods for performing actions. You will use OOP concepts such as aggregation and
Chapter 7, Implementing Interfaces and Inheriting Classes, is about deriving new types
from existing ones using OOP. You will learn how to implement interfaces, about base and
derived classes, how to override a type member, how to use polymorphism, and how to
cast between classes in an inheritance hierarchy.
Chapter 8, Working with Relational Data Using the Entity Framework, is about reading
and writing to Microsoft SQL Server (and other databases) using classic ADO.NET and
the object-relational mapping technology known as Entity Framework.
Chapter 9, Querying and Manipulating Data with LINQ, is about Language Integrated
Queries (LINQ)—language extensions that add the ability to work with sequences of
items, and filter, sort, and project them into different outputs.
Chapter 10, Working with Files, Streams, and Serialization, is about reading and writing to
files and streams, text encoding, and serialization.
Chapter 11, Protecting Your Data and Applications, is about protecting your data using
encryption and hashing, and checking who is running your application and what they are
allowed to do.
Chapter 12, Improving Performance and Scalability with Multitasking, is about allowing
multiple actions to be executed at the same time to improve performance, scalability, and
Chapter 13, Building Universal Windows Platform Apps Using XAML, is about learning
the basics of XAML, which can be used to define the user interface for a graphical app for
the Universal Windows Platform (UWP). This app can then run on Windows 10, Windows
10 Mobile, Xbox One, and even HoloLens.
Chapter 14, Building Web Applications and Services Using ASP.NET Core, is about
building web applications and services using a modern HTTP architecture on the server
side using Microsoft ASP.NET Core 1.0. You will learn about the models, views, and
controllers that make up MVC and the Web API.
Chapter 15, Taking C# Cross-Platform, is about introducing you to how you can take C#
cross-platform using .NET Core, ASP.NET Core 1.0, Entity Framework Core 1.0, and
Visual Studio Code.
Chapter 16, Building a Quiz, is about designing and building a quiz application that helps
students learn C#, .NET Core, and related topics.
Appendix A, Answers to the Test Your Knowledge Questions, has the answers to the test
questions at the end of each chapter.
Appendix B, Creating a Virtual Machine for Your Development Environment, shows how
to set up a virtual machine in Microsoft Azure for use as a development environment.