C# Essentials (4002)
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 three-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.
- 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#
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
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
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
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
5. Delegates and Events
- Delegates
- Anonymous Methods
- Lambda Expressions
- Random Number Generation
- Events
6. Introduction to Windows Forms
- Creating Windows Applications Using Visual Studio 2022
- Partial Classes
- Buttons, Labels and Textboxes
- Handling Events
- Listbox Controls
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
System Requirements
Course examples require Microsoft Visual Studio 2022 and Windows 10 or higher. The free Visual Studio Community 2022 can be used. See the appropriate course Setup Guide for details.
A good minimal hardware profile for this course consists of a 2 GHz or better CPU, 4 GB of RAM and at least 10 G
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Experience in the following is required for this C# class:
The student should be an experienced application developer or architect.
Experience in the following would be useful for this C# class:
Some background in object-oriented programming in a language such as C++ or Java would be helpful.
Live Private Class
- Private Class for your Team
- Live training
- Online or On-location
- Customizable
- Expert Instructors