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
- 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - Garbage collection, memory management
11.1 Garbage Collector
11.2 Finalized objects. Dispose method
11.3 Using construct - Reflection
12.1 Introduction to reflection. System.Type class
12.2 Reflection Practice
12.3 Dynamically loading assemblies and late binding
12.4 Attributes - 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 - 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 - 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 - 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