C# 10 and .NET 6. Contents

Stasoz
4 min readMar 20, 2022

You can check this course on my website.

Hello everyone, my name is Stanislav Zghurskyi and I’m a .NET developer, I decided to write a C# book for beginners.

The main goal of this book is to present the material as simply as possible and show the possibilities of the C# language. The content of some chapters may change over time, as I will update the book depending on the update of the C# language.

You can always contact me for any questions:

Email — truestasoz@gmail.com

Telegram: @Stasoz

Join to our community in Telegram — https://t.me/itifico

Below you will find a list of chapters in which I will publish material weekly.

C# 10 and .NET 6

  1. C# Intro
    1.1 What is C# and .NET?
    1.2 Evolution of C#
    1.3 First Program and Install VS 2022
    1.4 Debugging
    1.5 .NET CLI
    1.6 C# keywords
  2. C# Basics
    2.1 Program structure
    2.2 Variables
    2.3 Data Types
    2.4 Type Casting
    2.5 Console Input/Output
    2.6 Arithmetic Operators
    2.7 Assignment Operators
    2.8 Comparison Operators
    2.9 Logical Operators
    2.10 Operators Precedence and Associativity
    2.11 if else Statements
    2.12 Ternary operator
    2.13 Loops
    2.14 Jump statements
    2.15 Console Game — Number Guessing
    2.16 Arrays
    2.17 Multidimensional Arrays
    2.18 Jagged Arrays
    2.19 Tasks with Arrays
    2.20 Methods
    2.21 Passing parameters by reference and value
    2.22 Array as parameter and params keyword
    2.23 Local and Recursive functions
    2.24 Parse, TryParse and Convert class
    2.25 Switch Statements
    2.26 Enum Type
  3. Classes, structures and objects
    3.1 Classes and objects
    3.2 Constructos
    3.3 Method overloading
    3.4 Const and Readonly fields
    3.5 Adding Classes and Main Method
    3.6 Structure
    3.7 Value types and reference types
    3.8 Class vs Struct
    3.9 Scope (context) of variable
    3.10 Namespaces
    3.11 Global namespaces
    3.12 Adding an Assembly to a Project
    3.13 Access modifiers
    3.14 Properties
    3.15 Indexers
    3.16 Static keyword
  4. Inheritance and polymorphism
    4.1 Inheritance
    4.2 Type casting
    4.3 Virtual methods and properties
    4.4 Hiding Methods and Properties
    4.5 System.Object class
    4.6 Abstract classes
    4.7 Generic type
    4.8 Generic constraints
    4.9 Inheritance in generic types
  5. Exception Handling
    5.1 Basics of Exception Handling
    5.2 Catch block and exception filters
    5.3 Exception types. Exception class
    5.4 Throwing an exception and the throw statement
    5.5 Creating Exception Classes
    5.6 Finding a catch block when handling exceptions
    5.7 Check, uncheck
  6. Interfaces
    6.1 Interfaces basics
    6.2 Interface reference
    6.3 Interfaces on practice
    6.4 Explicit implementation of interfaces
    6.5 Implementing Interfaces in Base and Derived Classes
    6.6 Interface inheritance
    6.7 Interfaces in Generics
    6.8 Copying objects. ICloneable interface
    6.9 Sorting objects. IComparable interface
    6.10 Covariance and Contravariance of Generic Interfaces
  7. Delegates, Events, and Lambdas
    7.1 Delegates
    7.2 Delegates on practice
    7.3 Delegate covariance and contravariance
    7.4 Action, Predicate, and Func delegates
    7.5 Anonymous Methods
    7.6 Lambda expressions
    7.7 Events
  8. Strings, Array and DateTime
    8.1 Array class
    8.2 Strings and the System.String class
    8.3 String operations
    8.4 Formatting and interpolating strings
    8.5 StringBuilder class
    8.6 Regular Expressions
    8.7 DateTime structure
    8.8 Formatting dates and times
  9. Additional OOP features
    9.1 Null and reference types
    9.2 Null and value types
    9.3 Checking for null, operators ?. and ??
    9.4 Reference Variables and Returning a Reference
    9.5 Extension methods
    9.6 Partial classes and methods
    9.7 Anonymous type
    9.8 Records
    9.9 Tuples
    9.10 Pattern matching
  10. Collections, Enumerators, and Iterators
    10.1 Collections overview
    10.2 ArrayList
    10.3 List<T>
    10.4 Differences between Array and List
    10.5 LinkedList<T>
    10.6 Queue<T>
    10.7 Stack<T>
    10.8 Dictionary<T,V>
    10.9 IEnumerable and IEnumerator interfaces
    10.10 Iterators and the yield statement
  11. Garbage collection, memory management
    11.1 Garbage Collector
    11.2 Finalized objects. Dispose method
    11.3 Using construct
  12. Reflection
    12.1 Introduction to reflection. System.Type class
    12.2 Reflection Practice
    12.3 Dynamically loading assemblies and late binding
    12.4 Attributes
  13. Multithreading
    13.1 Intro to multithreading. Thread class
    13.2 Creation of threads. ThreadStart delegate
    13.3 Parameterized threads
    13.4 Synchronizing threads
    13.5 Monitor
    13.6 AutoResetEvent Class
    13.7 Mutex
    13.8 Semaphore
    13.9 Timer
    13.10 CLR thread pool
  14. Parallel Programming and TPL Library
    14.1 Parallel Programming Intro
    14.2 Tasks and class Task
    14.3 Work with Task class
    14.4 Continuation tasks
    14.5 Canceling a task
    14.6 Class Parallel
  15. Asynchronous programming
    15.1 Asynchronous methods, async and await
    15.2 Returning result from an asynchronous method
    15.3 Sequential and concurrent invocation of asynchronous operations
    15.4 Handling Errors in Asynchronous Methods
    15.5 Canceling asynchronous operations
  16. Working with streams and the file system
    16.1 System.IO namespace
    16.2 File and FileInfo
    16.3 Directory and DirectoryInfo
    16.4 Class Path
    16.5 FileStream. Reading and writing a file
    16.6 Reading and writing text files. StreamReader and StreamWriter
    16.7 Binary files. BinaryWriter and BinaryReader
    16.8 Binary serialization. BinaryFormatter
    16.9 Archiving and compressing files

--

--

Stasoz

Full Stack Developer who is inspired by new technologies