Core and Advanced C# 13 and .NET 9 Framework

Programming

COURSE OVERVIEW


This training will focus on the core programming details of C# and also will discuss the anatomy and architecture of the .NET solutions and projects.


Prerequisite

C# 13 and .NET 9 Basic Training


Duration:                         40 HRS / 5 DAYS

Level:                                Advanced

Delivery Method:         Classroom-based, Virtual Instructor Led Training


MacBook Pro showing programming language

Description

COURSE OUTLINE


Day 1    Learning the C# Built-in Namespaces


·      System

  • o  Console
  • o  Convert
  • o  String
  • o  DateTime, DateOnly, TimeOnly, Tick, TimeSpan
  • o  Arrays

·      System.Text

  • o  StringBuilder
  • o  Encoder

·      System.Globalization

·      Date and Number formatting

·      File transactions

·      Regular expression

·      Operators

·      Program construct


Day 2     C# Programming Concepts


OOP principles


o  Abstraction

  • § Class versus Structures
  • § Record
  • § Static classes
  • § Sealed classes
  • § Static constructors

o  Encapsulation

  • § Access modifiers
  • § Property classes
  • § Indexers
  • § Readonly instance variables
  • § Readonly property fields
  • § Object initializers

o  Inheritance

  • § Method overriding
  • § Sharing attributes and properties
  • § The virtual, non-virtual and abstract methods
  • § Abstract classes and methods

o  Polymorphism

o  The base and this reference keywords

o  Object anatomy

  • § The base() and this() constructor functions
  • § Cconstructor and constructor overloading
  • § Private constructors


Exception handling

o  Simple exception handling

o  Hierarchy of exceptions

o  Conditional exceptions

o  Risky methods


Generic programming

o  Generic classes

o  Generic methods

o  Generic interfaces

o  Generic structures


Collections

o  The generic vs non-generic collection types

o  IList types

o  ISet types

o  IDictionary types

o  Queue

o  Stack

o  Indexers

o  Comparer and Comparable

o  Enumerator


Day 3     Advanced C# concepts (Part 1)


Enum types

Local methods and inner classes

Operator Overloading

Partial types and methods

Metaprogramming concepts

o  Utilizing the interface’s new features

o  Delegates

  • § Delegates vs Interfaces
  • § Action, Predicate, and Func
  • § High-order functions

o  Local methods and nested types

o  Expression-bodied method or anonymous method

o  Lambda expressions

o  Local variable type inference (var)

o  Default types

o  Anonymous types

o  Dynamic types

o  Tuples

o  Extension method


Event handling

LINQ programming

o  Enumerable 

o  LINQ to Objects

o  LINQ to XML

o  LINQ to SQL with Microsoft SQL Server

o  Introduction to LINQ to Entities

o  Standard LINQ operators

o  Query-based LINQ statements

 

Day 4    Advanced C# Concepts (Part 2)


Managing XML and JSON

o  XML serialization and de-serialization

o  JSON encoding and decoding


Threads and Processes

o  Synchronization

o  Locking

o  Monitor

o  Semaphores

o  Mutext

o  Deadlock

o  Thread pooling


Asynchronous programming

Reflection and Attributes

Automapper

 

Day 5    Understanding the .NET projects


The .NET Architecture

Project directory structure

Creating a solution and multiple .NET projects

Types of .NET Projects

o  Creating the classlib

o  Creating Unit testing project

  • § xUnit
  • § nUnit
  • § msTest

Using NuGet to import references and packages

Understanding the assemblies. CSPROJ and SOLN configuration