INTRODUCTION
Chapter 3: Core C# Programming Constructs, Part I
This chapter begins your formal investigation of the C# programming language. Here, you will learn
about the role of the Main() method and numerous details regarding the intrinsic data types of the .NET
platform, including the manipulation of textual data using System.String and
System.Text.StringBuilder. You will also examine iteration and decision constructs, narrowing and
widening operations, and the unchecked keyword.
Chapter 4: Core C# Programming Constructs, Part II
This chapter completes your examination of the core aspects of C#, beginning with the construction of
overloaded type methods and defining parameters using the out, ref, and params keywords. This chapter
will examine two C# features called arguments and optional parameters. You will also learn how to create
and manipulate arrays of data, define nullable data types (with the ? and ?? operators), and understand
the distinction between value types (including enumerations and custom structures) and reference
types.
Part III: Object-Oriented Programming with C#
In this section you will come to understand the core constructs of the C# language, including the details
of object-oriented programming (OOP). This part will also examine how to process runtime exceptions,
and dive into the details of working with strongly typed interfaces.
Chapter 5: Understanding Encapsulation
This chapter begins your examination of object-oriented programming (OOP) using the C#
programming language. After you are introduced to the pillars of OOP (encapsulation, inheritance, and
polymorphism), the remainder of this chapter will show you how to build robust class types using
constructors, properties, static members, constants, and read-only fields. You will wrap up with an
examination of partial type definitions, object initialization syntax, and automatic properties.
Chapter 6: Understanding Inheritance and Polymorphism
Here, you will examine the remaining pillars of OOP (inheritance and polymorphism), which allow you
to build families of related class types. As you do this, you will examine the role of virtual methods,
abstract methods (and abstract base classes), and the nature of the polymorphic interface. Last but not
least, this chapter will explain the role of the supreme base class of the .NET platform, System.Object.
Chapter 7: Understanding Structured Exception Handling
The point of this chapter is to discuss how to handle runtime anomalies in your code base through the
use of structured exception handling. Not only will you learn about the C# keywords that allow you to
handle such problems (try, catch, throw, and finally), but you will also come to understand the
lviii