Skip to content

This repo. has C# language features code I have implemented to achieve a good understanding of the .net & c# language feature

Notifications You must be signed in to change notification settings

MoamenSoroor/professional-csharp-code

Repository files navigation

professional-csharp-code

This repo. has C# code I have implemented to achieve a good understanding of the .net & c# language features, and it is based on many resources, and i will mention the main of them:

Topics covered in the professional-csharp-code repository:

  • Core C# Programming Constructs

    • DataTypes Basics
    • Methods Basics
    • ControlFlow
    • Arrays
    • Strings
    • DateTime
  • Object Oriented Programming

    • Encapsulation
    • Inheritance
    • Polymorphism
    • Interfaces
  • Exception Handling

    • Understanding Structured Exception Handling
    • Without Exception Handling Mechanism
    • Throw Exception Without Handling - Catching Exceptions
    • Custom Exception Class With Strongly-Typed Prperties
    • Custom Exception Class With Strongly-Typed Prperties: Message Passed To base Constructor
    • Multiple Catch Clauses - General Catch - Rethrowing Exceptions - The finally Block - Exception Filters"
  • Generics

    • Creating Custom Generic Methods
    • Inference of Type Parameters
    • Creating Custom Generic Structures
    • Creating Custom Generic Classes
    • The default Keyword in Generic Code
    • Constraining Type Parameters
    • Multiple Type Parameter, and Multiple Where Clauses
  • Collections

    • Introduction to Collections and Generics
    • Nongeneric collections (System.Collections namespace)
    • Boxing and Unboxing
    • The Problems of Nongeneric Collections
    • A First Look at Generic Collections
    • The Role of Generic Type Parameters
    • Specifying Type Parameters for Generic Interfaces
    • The System.Collections.Generic Namespace
    • Understanding Collection Initialization Syntax
    • Working with the List Class
    • Sorting a List
    • Binary Search On a List
    • LinkedList Class, Stack Class, Queue Class, HashSet Class, SortedSet Class
    • Dictionary Class, SortedDictionary Class
    • ObservableCollection Class, ReadOnlyObservableCollection Class
  • Delegates, Events, and Lambda Expressions

    • Introduction to .Net Delegates
    • The C# delegate keyword represents a sealed class deriving from System.MulticastDelegate
    • The System.MulticastDelegate and System.Delegate Base Classes
    • Callback by Interface
    • Sending Object State Notifications Using Delegates
    • Method Group Conversion Syntax
    • Understanding Generic Delegates
    • The Generic Action<> and Func<> Delegates
    • The Problem With Class's public Delegate Member Variables
    • The C# event Keyword
    • Creating Custom Event Arguments - EventArgs Base Class
    • The Generic EventHandler Delegate
  • Advanced C# Language Features

    • Tuples
    • Nullables
  • LINQ To Objects

  • Object Lifetime

  • type reflection, late Binding, and attriBute-Based programming

  • Dynamic Types and the Dynamic Language Runtime

  • Processes, AppDomains, and Object Contexts

  • Multithreaded, Parallel, and Async Programming