C#
Full C# course — 70 topics from the basics to advanced use.
Lessons
- Object Lifetime, Garbage Collection and Resource Management
- Asynchronous Programming with `async` and `await`
- Advanced Async: Contexts, State Machines and Deadlocks
- Multithreading and Synchronization
- Parallel Programming and Concurrent Collections
- Channels and Advanced Concurrency
- Networking and HttpClient
- Reflection, Attributes and Dynamic Programming
- Expression Trees and Metaprogramming
- Roslyn, Analyzers and Source Generators
- Modern C# and the Advanced Type System
- Span, Memory and Advanced Memory Management
- Unsafe Code and Native Interoperability
- Advanced Regular Expressions
- Advanced Delegates and Functional Programming
- C# and .NET Fundamentals
- Development Environment and the .NET CLI
- Your First C# Program
- C# Syntax Fundamentals
- Variables and Data Types
- Type Conversion
- Operators
- Control Flow
- Strings and Text Processing
- Arrays
- Collections
- Methods
- Dependency Injection, Configuration and Logging
- NuGet and Library Development
- Unit Testing and Integration Testing
- Debugging and Diagnostics
- Database Programming with ADO.NET
- Entity Framework Core
- ASP.NET Core, Middleware and REST APIs
- Authentication, Authorization and Security
- Desktop, Cross-Platform and Game Development
- Design Patterns
- SOLID Principles and Clean Code
- Software Architecture, DDD, CQRS and Event-Driven Systems
- Performance, Benchmarking, Profiling and Caching
- Resilience
- Git, CI/CD, Containers, Cloud and Observability
- API Design, Coding Standards and Library Best Practices
- C# for Engineering and Automotive Tools
- Common C# Mistakes
- C# Coding Exercises
- Capstone Projects
- Interview Preparation
- C# Cheat Sheet
- Final Assessment
- Learning Roadmap
- What to Learn Next & Final Checklist
- Classes, Objects, Encapsulation and Access Modifiers
- Constructors and Properties
- Inheritance, Polymorphism and Abstraction
- Interfaces
- Structs, Records and Enums
- Generics
- Delegates, Lambda Expressions and Events
- Exception Handling
- Nullable Reference Types
- Pattern Matching
- Namespaces and Assemblies
- LINQ
- Iterators and `yield`
- Tuples, Deconstruction, Extension Methods, Operator Overloading and Indexers
- Files, Directories and Streams
- Serialization: JSON and XML
- Dates, Time, Globalization and Localization
- Course Overview & Running Example