This five-day course is designed for the experienced programmer to help you quickly come up to speed on the essentials of the C# language and the .NET Core frameworks. It is current to Visual Studio 2022, .NET 6 and C# 10.
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.
A major new restructuring of the .NET platform, .NET Core is cross-platform, open source, and modular designed for creating modern web applications and services, libraries and console applications. It is available on Windows, Mac and Linux. .NET now is a family of frameworks, including both the classical .NET available on Windows and the new .NET Core package-based frameworks that are cross-platform.
The first module of the course covers the C# language and core features of C# and .NET, including delegates and events and an introduction to Windows Forms. The second module focuses on core portions of the .NET Class Library that are common across many application areas. It starts with an introduction to the architecture and key concepts of .NET. The course then discusses class libraries, packages, metapackages and frameworks. The following chapters discuss important topics in the .NET programming model, including metadata and reflection, I/O and serialization, memory management, processes and threads. The course concludes with a chapter on threading, which includes an introduction to the Task Parallel Library (TPL).
The course is hands-on, with many programming examples. The goal is to equip you with the foundations of this important technology from Microsoft. The student will receive a comprehensive set of materials, including course notes and all the programming examples.
Module 1: C# Essentials
1. Introduction to NET
2. C# Overview for the Sophisticated Programmer
3. Object-Oriented Programming in C#
4. C# and.NET
5. Delegates and Events
6. Introduction to Windows Forms
7. Newer Features in C#
Appendix A. Using Visual Studio 2022
Appendix B. Language Integrated Query (LINQ)
Appendix C. Unsafe Code and Pointers in C#
Module 2: .NET Foundations
1. NET Fundamentals
2. Class Libraries
3. Frameworks and Packages
4. Metadata and Reflection
5. I/O and Serialization
6. .NET Programming Model
7. .NET Threading
Appendix D. Learning Resources
The student should be an experienced application developer or architect.
Some background in object-oriented programming in a language such as C++ or Java would be helpful.