Microsoft .NET is an advance in programming technology that greatly simplifies application development, both for traditional, proprietary applications and for the emerging paradigm of Web-based services. .NET 6 is a unified platform, for browser, cloud, desktop, IoT, and mobile apps. It is based on .NET Core, the package-based implementation that is cross-platform, running on Mac and Linux besides Windows. It completes the unification of the .NET platform begun with .NET 5.

 

This two-day course is designed for the experienced programmer to help you quickly come up to speed on the C# language. It is current to Visual Studio 2022, .NET 6 and C# 10. Important newer features such as dynamic data types, named and optional arguments, tuples, asynchronous programming keywords, nullable reference types, record types and  top-level statements are covered.

 

This course concisely covers the essentials of programming using Microsoft’s C# programming language. It starts with an overview of .NET architecture and the basics of running C# programs in a .NET environment. The next two chapters cover C# language essentials and object-oriented programming in C#. The next chapter discusses how C# relates to.NET. The following chapter covers delegates and events. The course includes a succinct introduction to creating GUI programs using Windows Forms. The course concludes with a chapter covering the newer features in C#. Appendices provide a tutorial on Visual Studio 2022, an overview of LINQ, and coverage of unsafe code and pointers in C#.

 

The course is practical, with many example programs and a progressively developed case study. The goal is to quickly bring you up to speed in writing C# programs. The student will receive a comprehensive set of materials, including course notes and all the programming examples.

 

Objectives

Acquire a working knowledge of C# programming

Learn about important interactions between C# and.NET

Learn how to implement simple GUI programs using Windows Forms

Gain a working knowledge of important newer features in C#

Prerequisites

The student should be an experienced application developer or architect. Some background in object-oriented programming would be helpful.

Duration

2-3 Days

Outline for C# Essentials Training

Chapter 1. Introduction to NET

What is .NET?

.NET Framework, NET Core and .NET 6

Application Models

Managed Code

Visual Studio 2022

Console Programs and New Console Template

GUI Programs

Chapter 2. C# Overview for the Sophisticated Programmer

First C# Console Application

Namespaces

Data Types

Conversions

Control Structures

Subroutines and Functions

Parameter Passing

Strings

Arrays

Implicitly Typed Variables

Console I/O

Formatting

Exception Handling

Chapter 3. Object-Oriented Programming in C#

Classes

Access Control

Methods and Properties

Asymmetric Accessor Accessibility

Static Data and Methods

Constant and Readonly Fields

Auto-Implemented Properties

Inheritance

Overriding Methods

Abstract Classes

Sealed Classes

Access Control and Assemblies

Chapter 4. C# and.NET

Components

Interfaces

System.Object

.NET and COM

Collections

IEnumerable and IEnumerator

Copy Semantics in C#

Generic Types

Type-Safe Collections

Object Initializers

Collection Initializers

Anonymous Types

Attributes

Chapter 5. Delegates and Events

Delegates

Anonymous Methods

Lambda Expressions

Random Number Generation

Events

Chapter 6. Introduction to Windows Forms

Creating Windows Applications Using Visual Studio 2022

Partial Classes

Buttons, Labels and Textboxes

Handling Events

Listbox Controls

Chapter 7. Newer Features in C#

Dynamic Data Type

Named and Optional Arguments

Variance in Generic Interfaces

Asynchronous Programming Keywords

New Features in C# 6 and C# 7

Nullable Reference Types

Record Types

Top-level Statements

Appendix A.  Using Visual Studio 2022

Signing in to Visual Studio

Overview of Visual Studio 2022

Creating a Console Application

Project Configurations

Debugging

Multiple-Project Solutions

Appendix B.  Language Integrated Query (LINQ)

What Is LINQ?

Basic Query Operators

Filtering

Ordering

Aggregation

Appendix C.  Unsafe Code and Pointers in C#

Unsafe Code

C# Pointer Type

Appendix D.  Learning Resources