10. .NET Runtime & Core Concepts
Part 1: .NET Ecosystem
1. .NET Evolution
.NET Framework (2002-present)
.NET Core (2016-2020)
.NET 5+ (2020-present) - Modern ✅
Evolution Timeline
2. .NET Framework vs .NET Core vs .NET 5+
Feature
.NET Framework
.NET Core
.NET 5+
3. .NET Standard
.NET Standard Compatibility
.NET Standard
.NET Framework
.NET Core
.NET 5+
4. .NET Architecture
Part 2: Common Language Runtime (CLR)
5. What is CLR?
6. Compilation Process
Two-Stage Compilation
Why Two Stages?
7. CIL / MSIL (Intermediate Language)
8. JIT Compilation
When JIT Happens
Types of JIT
JIT Benefits
9. AOT Compilation (.NET 7+)
Native AOT
ReadyToRun (R2R)
AOT Use Cases
JIT vs AOT Comparison
Feature
JIT
Native AOT
ReadyToRun
Part 3: Memory Management
10. Managed vs Unmanaged Code
Managed Code (C#, VB.NET, F#)
Unmanaged Code (C, C++, native APIs)
Comparison
Feature
Managed
Unmanaged
11. Memory Structure
Stack (Per Thread)
Heap (Shared)
Memory Layout
12. Value Types vs Reference Types (Memory)
Value Types
Reference Types
Boxing and Unboxing
13. Garbage Collection (GC)
When GC Runs
GC Generations
GC Process
GC Modes
GC Methods
14. Object Lifecycle
15. Dispose Pattern (Brief Review)
Feature
Dispose()
Finalizer (~)
Part 4: Type System
16. Common Type System (CTS)
Type Categories
Type Hierarchy
17. Common Language Specification (CLS)
18. Type Metadata
Part 5: Advanced Runtime Features
19. AppDomain (.NET Framework Only)
20. AssemblyLoadContext (.NET Core/.NET 5+)
21. unsafe Code and Pointers
22. Platform Invoke (P/Invoke)
Part 6: Preprocessor Directives
Conditional Compilation
Compiler Messages
Code Organization
Warning Control
Nullable Context (C# 8.0+)
Common Symbols
Part 7: Environment & Console
Environment Class
Console Class
Quick Reference Summary
.NET Ecosystem
CLR (Common Language Runtime)
Memory Management
Type System
Advanced Features
Last updated