This directory contains focused, educational code snippets that demonstrate specific C# concepts. Each snippet is designed to teach a single concept clearly and concisely.
Fundamental C# concepts for newcomers:
- CastingExamples - Type casting and conversion
- OverrideVirtual - Method overriding and polymorphism basics
- PolymorphismBasics - Introduction to polymorphic behavior
Intermediate-level concepts:
- BoxingPerformance - Boxing/unboxing and performance implications
- CovarianceContravariance - Generic variance in C#
- GenericConstraints - Working with generic type constraints
Advanced programming patterns:
- DesignPatterns - Common software design patterns
- HighPerformance - Performance optimization techniques
- ObservabilityPatterns - Logging, metrics, and tracing
- PerformanceOptimization - Advanced optimization strategies
- ResiliencePatterns - Fault tolerance and resilience
- SOLIDPrinciples - SOLID design principles in practice
Expert-level features:
- AdvancedPerformance - Expert performance optimization
- NativeAOT - Ahead-of-time compilation
- RoslynAnalyzersDemo - Custom code analyzers
- SourceGenerators - Source generation techniques
Interactive learning exercises:
- Algorithms - Algorithm practice
- DesignPatterns - Pattern implementation exercises
- Generics - Generic programming exercises
- LINQ - Language Integrated Query exercises
Each snippet is self-contained and can be run independently:
# Navigate to a snippet
cd snippets/01-Beginner/PolymorphismBasics
# Build and run
dotnet build
dotnet run- Start with 01-Beginner for fundamentals
- Progress to 02-Intermediate for deeper concepts
- Study 03-Advanced for production patterns
- Master 04-Expert for advanced features
- Practice with 99-Exercises to reinforce learning
- Full Applications (samples/) - Complete, production-ready applications
- Main Documentation - Project overview
- Learning Paths - Structured learning guides