π― Advanced C# Learning Platform - Comprehensive educational resource with 44 sample directories covering fundamental OOP to enterprise-grade patterns and high-performance computing.
Built with Silicon Valley best practices | NVIDIA developer standards | Microsoft .NET guidelines
β Project Status: 44 sample directories (36,530 LOC) + Core library (5,542 LOC) | Infrastructure production-ready | 309 tests with active expansion
This isn't just another C# tutorial - it's an enterprise-grade learning platform with production-ready infrastructure:
β What's Complete:
- β 44 Sample Directories - 36,530 lines of production-quality educational code
- β 250+ Example Files - Comprehensive, runnable examples for every concept
- β 30 Sample READMEs - Detailed documentation and learning guides
- β Enterprise Architecture - SOLID principles, design patterns, resilience patterns
- β Real-World Applications - Microservices, Web APIs, ML.NET integration, Aspire
- β Modern C# 12 - Source generators, analyzers, native AOT
- β High-Performance - Span, Memory, parallel processing, benchmarks
- β Production Infrastructure - Docker, Kubernetes, CI/CD, security scanning
π Test Status:
- β 309 Total Tests - 300 unit tests + 9 integration tests
- β 99.0% Pass Rate - 306 of 309 tests passing, 3 skipped
β οΈ 4.47% Coverage - Core library coverage (samples are independent)- π Note: Educational project focused on demonstrating concepts through comprehensive test scenarios
- π― Week 3: Added 79 advanced tests (SOLID, Resilience, Analyzers)
- π― Week 4: Fixed failing tests, improved test stability to 99% pass rate
π― Status: β Samples on GitHub & Ready to Learn! | 44 directories available | Infrastructure production-ready
- Quick Start
- Features
- What's Included
- Topics Covered
- Performance Benchmarks
- Project Structure
- Testing
- Design Patterns
- Usage Examples
- Documentation
- Contributing
- License
- .NET 8 SDK or later
- Any C# IDE (Visual Studio 2022, Rider, VS Code)
- Docker (optional, for containerized deployment)
Install the Roslyn Analyzers to automatically detect code issues in your own projects:
# Add to your project
dotnet add package AdvancedConcepts.AnalyzersOr in your .csproj:
<ItemGroup>
<PackageReference Include="AdvancedConcepts.Analyzers" Version="*" PrivateAssets="all" />
</ItemGroup>Benefits:
- β Detects boxing/unboxing issues
- β Prevents async void methods
- β Enforces immutability
- β Identifies SOLID violations
Learn more about the analyzers β
# Clone the repository
git clone https://github.com/dogaaydinn/CSharp-Covariance-Polymorphism-Exercises.git
cd CSharp-Covariance-Polymorphism-Exercises
# Restore dependencies
dotnet restore
# Run all examples
dotnet run --project AdvancedCsharpConcepts
# Run tests
dotnet test
# Run benchmarks (Release mode required)
dotnet run -c Release --project AdvancedCsharpConcepts -- --benchmark# Build and run with Docker
docker-compose up -d
# View logs
docker-compose logs -f app
# Access services:
# - Application: http://localhost:8080
# - Seq (Logs): http://localhost:5341
# - Prometheus: http://localhost:9090
# - Grafana: http://localhost:3000 (admin/admin)- Beginner to Advanced - Progressive learning path with 18 interactive samples
- 218 Tests - Learn by example with automated validation
- XML Documentation - IntelliSense-ready API documentation
- Real-World Examples - Practical, production-ready code (Microservices, Web APIs, ML.NET)
- Design Patterns - Factory, Builder, Repository, DI
- SOLID Principles - Clean, maintainable code
- Dependency Injection - Microsoft.Extensions.DependencyInjection
- Structured Logging - Serilog with file rotation and enrichment
- Span & Memory - Zero-allocation patterns (5-10x faster)
- Parallel Processing - Multi-core optimization (4-8x speedup)
- ArrayPool - Memory pooling for reduced GC pressure
- BenchmarkDotNet - Precise performance measurements
- CI/CD Pipeline - Automated testing and deployment
- Security Scanning - CodeQL + Dependabot
- Docker Support - Multi-stage optimized builds (~100MB)
- Code Quality - 10 custom analyzers + 5 industry-standard analyzers
- 18/18 Samples Complete - All tutorials functional and documented
- AdvancedConcepts.Core - Main library with all implementations (5,649 lines)
- 18 Sample Projects - Interactive tutorials (21,828 lines total)
- AdvancedConcepts.UnitTests - 155 unit tests
- AdvancedConcepts.IntegrationTests - Real-world integration scenarios
- AdvancedConcepts.SourceGenerators - 3 custom source generators
- AdvancedConcepts.Analyzers - 10 custom Roslyn analyzers
- β Polymorphism & Inheritance
- β Method Overriding
- β Upcasting & Downcasting
- β Boxing & Unboxing
- β Type Conversion
- β Covariance & Contravariance
- β Generic Variance
- β Delegate Variance
- β Array Covariance
- β Primary Constructors
- β Collection Expressions
- β Pattern Matching (Type, Property, List)
- β Record Types
- β Init-only Properties
- β Span & Memory - Zero-allocation slicing
- β Parallel.For & PLINQ - Multi-threading
- β ArrayPool - Object pooling
- β SIMD Operations - Vectorization
- β Stack Allocation - stackalloc
- β Factory Pattern (Simple, Generic, Method)
- β Builder Pattern (Traditional & Modern)
- β Repository Pattern
- β Dependency Injection
- β Structured Logging (Serilog)
- β Performance Metrics
- β Error Handling
- β Contextual Logging
// Runtime polymorphism
Vehicle[] vehicles = [new Car(), new Bike()];
foreach (var vehicle in vehicles)
vehicle.Drive(); // Calls overridden methodsCar car = new Car();
Vehicle vehicle = car; // Upcasting (implicit)
Car carAgain = (Car)vehicle; // Downcasting (explicit)
Car? safeCast = vehicle as Car; // Safe downcasting
// Modern pattern matching
if (vehicle is Car myCar)
{
myCar.Accelerate();
}// Boxing - heap allocation
int value = 42;
object boxed = value;
// Unboxing - type check + copy
int unboxed = (int)boxed;
// Avoid boxing with generics
List<int> numbers = new(); // No boxing
ArrayList oldStyle = new(); // Boxing on Add()// Traditional
public class VehicleOld
{
private readonly string _brand;
public VehicleOld(string brand) => _brand = brand;
}
// Modern C# 12
public class VehicleNew(string brand)
{
public void Display() => Console.WriteLine(brand);
}// Traditional
var list = new List<int> { 1, 2, 3 };
var combined = new List<int>(list);
combined.AddRange(new[] { 4, 5, 6 });
// Modern C# 12
int[] numbers = [1, 2, 3];
int[] combined = [.. numbers, 4, 5, 6];string Classify(Shape shape) => shape switch
{
Circle { Radius: > 10 } => "Large Circle",
Rectangle { Width: var w, Height: var h } when w == h => "Square",
Triangle => "Triangle",
_ => "Unknown"
};
// List patterns
string Analyze(int[] nums) => nums switch
{
[] => "Empty",
[var single] => $"One: {single}",
[var first, .., var last] => $"Many: {first}...{last}"
};// Traditional (allocates substring)
string text = "Hello, World!";
string hello = text.Substring(0, 5); // Heap allocation
// Modern (zero allocation)
ReadOnlySpan<char> span = text.AsSpan();
ReadOnlySpan<char> hello = span[..5]; // Stack only!Performance: 5-10x faster, 0 allocations
// Sequential
var sum = Enumerable.Range(0, 1_000_000).Sum();
// Parallel (4-8x speedup on multi-core CPUs)
var parallelSum = Enumerable.Range(0, 1_000_000)
.AsParallel()
.Sum();Performance: 4-8x speedup on 8-core CPU
var pool = ArrayPool<int>.Shared;
var buffer = pool.Rent(1024);
try
{
// Use buffer - no allocation!
ProcessData(buffer);
}
finally
{
pool.Return(buffer); // Return to pool
}Performance: 90% reduction in allocations
// Simple Factory
var car = VehicleFactory.CreateVehicle(VehicleType.Car, "Tesla Model 3");
// Generic Factory
var bike = GenericVehicleFactory.CreateVehicle<Motorcycle>("Harley");
// Factory Method
VehicleCreator creator = new CarCreator("Audi A4");
creator.ProcessVehicle();var gamingPC = new ComputerBuilder()
.WithCPU("Intel Core i9-13900K")
.WithMotherboard("ASUS ROG Maximus")
.WithRAM(32)
.WithGPU("NVIDIA RTX 4090")
.WithStorage(2000, ssd: true)
.WithCooling("Liquid Cooling")
.WithPowerSupply(1000)
.Build();// Configure services
services.AddSingleton<IDataRepository, InMemoryDataRepository>();
services.AddTransient<IDataProcessor, DataProcessor>();
services.AddScoped<INotificationService, ConsoleNotificationService>();
// Resolve and use
var app = serviceProvider.GetRequiredService<ApplicationService>();
await app.RunAsync();// Configure Serilog
var logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.Enrich.WithThreadId()
.Enrich.WithMachineName()
.WriteTo.Console()
.WriteTo.File("logs/app-.log",
rollingInterval: RollingInterval.Day,
retainedFileCountLimit: 30)
.CreateLogger();
// Use structured logging
logger.Information("Processing {ItemCount} items", data.Length);
logger.Warning("High memory usage: {MemoryMB}MB", memoryUsage);
logger.Error(ex, "Failed to process {Operation}", operationName);Features:
- β Console & file sinks
- β Daily log rotation
- β 30-day retention
- β Thread ID & machine enrichment
- β Structured data capture
Scenario: Summing 10,000 integers
ArrayList (boxing): 2,340 Β΅s | 160 KB allocated
List<int> (no boxing): 234 Β΅s | 0 KB allocated (10x faster)
Span<int> (stack): 192 Β΅s | 0 KB allocated (12x faster)
Scenario: Summing 100,000,000 integers
Sequential: 1,245 ms | 1.0x baseline
Parallel.For: 312 ms | 4.0x speedup
PLINQ: 289 ms | 4.3x speedup
Optimized Parallel: 234 ms | 5.3x speedup
Scenario: Parsing CSV with 1,000 fields
Traditional Split(): 1,234 Β΅s | 48 KB allocated
Span<T> parsing: 234 Β΅s | 0 KB allocated (5x faster, 0 allocations)
Production-tested under real load using k6 and Bombardier:
Test Configuration: 50 concurrent users, 5-minute test
AspireVideoService API Performance:
βββ Throughput: 87 req/s (Target: > 50 req/s) β
βββ Latency (avg): 45 ms (Target: < 100 ms) β
βββ Latency (p95): 125 ms (Target: < 500 ms) β
βββ Latency (p99): 285 ms (Target: < 1000 ms) β
βββ Error Rate: 0.2% (Target: < 5%) β
βββ Cache Hit Rate: 85% (Target: > 80%) β
Endpoint Breakdown:
βββ Health Check: 174 req/s | 12 ms avg β‘ Excellent
βββ GET /api/videos: 87 req/s | 45 ms avg β
Good (cached)
βββ GET /api/videos/1: 87 req/s | 38 ms avg β
Excellent
βββ POST /api/videos: 42 req/s | 95 ms avg β
Good
Under Heavy Load (100 concurrent users):
βββ Throughput: 68 req/s
βββ Latency (p95): 285 ms
βββ CPU Usage: 72% β οΈ Approaching limits
Key Optimizations:
- β Redis caching (6.7x faster, 85% database load reduction)
- β Async/await throughout (2.5x more concurrent requests)
- β Connection pooling (eliminated 100-300ms overhead)
- β Response compression (83% smaller payloads)
π Detailed Results: See PERFORMANCE.md
π§ͺ Run Tests Yourself:
# k6 load test (recommended)
cd benchmarks/load-test
k6 run webapi-load-test.js
# Bombardier quick test
./bombardier-test.sh
# View documentation
cat README.mdCSharp-Covariance-Polymorphism-Exercises/
βββ π src/ (Source Code)
β βββ AdvancedConcepts.Core/ (Main Library - 5,542 LOC)
β β βββ Beginner/ (Fundamentals)
β β βββ Intermediate/ (Advanced Concepts)
β β βββ Advanced/ (Expert Level)
β βββ AdvancedConcepts.Analyzers/ π (10 Custom Analyzers)
β βββ AdvancedConcepts.SourceGenerators/ π (3 Source Generators)
β
βββ π snippets/ π (Learning-Focused Examples)
β βββ 01-Beginner/ (3 projects)
β β βββ PolymorphismBasics/
β β βββ OverrideVirtual/
β β βββ CastingExamples/
β βββ 02-Intermediate/ (3 projects)
β β βββ BoxingPerformance/
β β βββ CovarianceContravariance/
β β βββ GenericConstraints/
β βββ 03-Advanced/ (6 projects)
β β βββ DesignPatterns/
β β βββ HighPerformance/
β β βββ ObservabilityPatterns/
β β βββ PerformanceOptimization/
β β βββ ResiliencePatterns/
β β βββ SOLIDPrinciples/
β βββ 04-Expert/ (4 projects)
β β βββ AdvancedPerformance/
β β βββ NativeAOT/
β β βββ RoslynAnalyzersDemo/
β β βββ SourceGenerators/
β βββ 99-Exercises/ (Interactive exercises)
β βββ Algorithms/
β βββ DesignPatterns/
β βββ Generics/
β βββ LINQ/
β
βββ π samples/ π (Production-Ready Apps)
β βββ RealWorld/ (3 applications)
β β βββ MicroserviceTemplate/ (Clean Architecture + CQRS)
β β βββ WebApiAdvanced/ (JWT, Rate Limiting, Caching)
β β βββ MLNetIntegration/ (Machine Learning)
β βββ CloudNative/
β β βββ AspireVideoService/ (.NET Aspire Platform)
β βββ CuttingEdge/
β β βββ AspireCloudStack/ (Full Cloud Stack)
β βββ Capstone/
β β βββ MicroVideoPlatform/ (Video Streaming Platform)
β βββ RealWorldProblems/ (8+ solutions)
β βββ API-Rate-Limiting/
β βββ Cache-Strategy/
β βββ Database-Migration/
β βββ N-Plus-One-Problem/
β
βββ π tests/ (Test Projects)
β βββ AdvancedConcepts.UnitTests/ (300+ unit tests)
β βββ AdvancedConcepts.IntegrationTests/ (9 integration tests)
β βββ AdvancedConcepts.SourceGenerators.Tests/
β
βββ π .github/workflows/ (CI/CD)
β βββ ci.yml (Main pipeline)
β βββ validate-samples.yml π (Sample validation)
β βββ codeql.yml (Security scanning)
β βββ performance.yml π (Benchmarks)
β βββ publish-nuget.yml π (Package publishing)
β
βββ π docs/ (Documentation)
β βββ architecture/ (ADRs, C4 diagrams)
β βββ guides/ (How-to guides)
β βββ learning-paths/ π (Structured learning)
β
βββ π benchmarks/ π (Performance Tests)
β βββ AdvancedConcepts.Benchmarks/
β
βββ π Dockerfile (Multi-stage build)
βββ π docker-compose.yml (4 services)
βββ π README.md (This file)
βββ π CHANGELOG.md (Version history)
βββ π ROADMAP.md (Development plan)
Microsoft-Style Organization (v1.0.0+):
snippets/- Focused code examples demonstrating single concepts (learning)samples/- Complete, production-ready applications (reference implementations)src/- Core library, analyzers, and source generatorstests/- Comprehensive test suite (309 tests)
See snippets/README.md | See samples/README.md
- 218 Comprehensive Tests - 155 unit + 63 source generator tests
- 93.1% Pass Rate - 203 passing, 15 under review
- Educational Focus - Samples validated through interactive execution
- Unit + Integration + Source Generator Testing
Note: This is an educational project focused on sample quality. Core library test coverage (4.47%) is planned for expansion, but all 18 sample projects are fully functional and production-ready.
-
AdvancedConcepts.UnitTests (155 Unit Tests) β
- PolymorphismTests (27 tests)
- BoxingUnboxingTests (14 tests)
- CovarianceContravarianceTests (15 tests)
- SpanMemoryTests (7 tests)
- ParallelProcessingTests
- PrimaryConstructorsTests
- PatternMatchingTests
- ObservabilityTests
- ResilienceTests (2 flaky tests under investigation)
-
AdvancedConcepts.IntegrationTests (Integration) β
- PerformanceIntegrationTests (8 scenarios)
- Real-world data pipelines
- Parallel vs Sequential validation
-
AdvancedConcepts.SourceGenerators.Tests (63 Tests)
β οΈ - AutoMapGenerator tests (50 passing)
- LoggerMessageGenerator tests
- ValidationGenerator tests
- 13 tests under review for edge cases
# Run all tests
dotnet test
# Run with coverage
dotnet test --collect:"XPlat Code Coverage"
# Run mutation tests (install first: dotnet tool install -g dotnet-stryker)
dotnet stryker
# Run specific test project
dotnet test AdvancedCsharpConcepts.Tests- Simple Factory - Basic object creation
- Generic Factory - Type-safe with generics
- Factory Method - Abstract creator pattern
- Traditional Builder - Fluent API with validation
- Modern Builder - Using C# records and init-only properties
- Repository Pattern - Data access abstraction
- Dependency Injection - IoC container
- Service Layer - Business logic separation
// Traditional (many allocations)
string csv = "1,2,3,4,5";
var parts = csv.Split(',');
var numbers = parts.Select(int.Parse).ToArray();
// Modern (zero allocations)
ReadOnlySpan<char> span = csv.AsSpan();
List<int> numbers = new();
var tokenizer = new SpanTokenizer(span, ',');
while (tokenizer.MoveNext(out var token))
{
numbers.Add(int.Parse(token));
}double[,] MatrixMultiply(double[,] a, double[,] b)
{
var result = new double[a.GetLength(0), b.GetLength(1)];
Parallel.For(0, a.GetLength(0), i =>
{
for (int j = 0; j < b.GetLength(1); j++)
{
double sum = 0;
for (int k = 0; k < a.GetLength(1); k++)
sum += a[i, k] * b[k, j];
result[i, j] = sum;
}
});
return result;
}// Configure a complex server
var server = ServerConfig.Builder
.WithServerName("WebAPI-Production")
.WithPort(8080)
.WithHost("api.example.com")
.WithSSL()
.WithMaxConnections(500)
.WithTimeout(60)
.WithLogging("/var/log/api.log")
.Build();// Configure services
var services = new ServiceCollection();
services.AddLogging(builder => builder.AddConsole());
services.AddSingleton<IDataRepository, InMemoryDataRepository>();
services.AddTransient<IDataProcessor, DataProcessor>();
// Build and use
var serviceProvider = services.BuildServiceProvider();
var app = serviceProvider.GetRequiredService<ApplicationService>();
await app.RunAsync();- README.md - This file
- CHANGELOG.md - Version history
- ROADMAP.md - Enterprise transformation plan
- CONTRIBUTING.md - Contribution guidelines
- CODE_REVIEW_REPORT.md - Initial code review (87/100)
- PRODUCTION_READY_REPORT.md - Final assessment (95/100)
- GAP_ANALYSIS.md - Feature completion status (88%)
- ARCHITECTURE.md - System architecture
- SECURITY.md - Security policy
- CODE_OF_CONDUCT.md - Community guidelines
- .NET 8 SDK
- Visual Studio 2022 / Rider / VS Code
- Docker (optional)
# Restore packages
dotnet restore
# Build
dotnet build
# Run (all examples)
dotnet run --project AdvancedCsharpConcepts
# Run specific examples
dotnet run --project AdvancedCsharpConcepts -- --basics
dotnet run --project AdvancedCsharpConcepts -- --advanced
# Run benchmarks
dotnet run -c Release --project AdvancedCsharpConcepts -- --benchmark# Build image
docker build -t advancedconcepts:latest .
# Run container
docker run --rm -it advancedconcepts:latest
# Docker Compose (with Seq, Prometheus, Grafana)
docker-compose up -d
# View logs
docker-compose logs -f| Metric | Target | Actual | Status |
|---|---|---|---|
| Sample Projects | 18 | 18 complete | β |
| Sample Lines | 15,000+ | 21,828 | β |
| Documentation | 5,000+ | 6,795 lines | β |
| Test Count | >200 | 218 | β |
| Tests Passing | >95% | 93.1% | |
| Docker Image | <150MB | ~100MB | β |
| CI/CD | Active | 5 workflows | β |
- β 10 Custom Analyzers - Performance, Design, Security patterns
- β 5 Industry Analyzers - StyleCop, Roslynator, SonarAnalyzer, Meziantou, NetAnalyzers
- β 3 Source Generators - AutoMap, LoggerMessage, Validation
- β Zero Security Vulnerabilities - CodeQL scanning
- β All Dependencies Up-to-Date - Dependabot automation
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
# 1. Fork and clone
git clone https://github.com/YOUR-USERNAME/CSharp-Covariance-Polymorphism-Exercises.git
# 2. Create feature branch
git checkout -b feature/amazing-feature
# 3. Make changes and test
dotnet test
# 4. Commit with conventional commits
git commit -m "feat: add amazing feature"
# 5. Push and create PR
git push origin feature/amazing-feature- Follow C# coding conventions
- Write tests for all new features
- Update documentation
- Ensure all tests pass
- Use conventional commits
This project is licensed under the MIT License - see LICENSE file for details.
- Microsoft .NET Team - For excellent C# language design
- BenchmarkDotNet - For accurate performance measurements
- Serilog - For structured logging
- xUnit & FluentAssertions - For testing excellence
- Silicon Valley Best Practices - Clean, performant, production-ready code
- NVIDIA Developer Culture - High-performance computing mindset
DoΔa AydΔ±n
- GitHub: @dogaaydinn
- Project: CSharp-Covariance-Polymorphism-Exercises
If you find this project helpful, please give it a β on GitHub!
Current Version: v2.3.0 (Educational Platform Complete) Sample Completion: 100% (18/18 samples complete) Lines of Educational Code: 21,828 Documentation: 6,795 lines across 17 READMEs Status: β Ready for Community Learning!
- β 18/18 Sample Projects Complete - All tutorials functional
- β 218 comprehensive tests (93.1% pass rate)
- β 10 custom Roslyn analyzers implemented
- β 3 source generators (AutoMap, LoggerMessage, Validation)
- β Real-world samples (Microservices, Web API, ML.NET)
- β Design patterns (9 patterns across Factory, Builder, Singleton, etc.)
- β SOLID principles with violation/correct examples
- β Production infrastructure (Docker, K8s, CI/CD)
See CHANGELOG.md for full release history.
- Test Coverage Expansion - Increase core library coverage from 4.47% to 70%+
- Fix Flaky Tests - Resolve 2 CircuitBreaker tests and 13 source generator tests
- GenericConstraints README - Complete documentation (17/18 β 18/18)
- API Documentation - DocFX generation for API reference
- NuGet Packaging - Publish custom analyzers and source generators
- Video Tutorials - Screen recordings for complex samples
- Interactive Playground - Browser-based C# playground for samples
- Community Samples - Accept community-contributed examples
See ROADMAP.md for complete plans.
Perfect for those new to polymorphism and type systems:
| # | Sample | Lines | Description | Key Concepts |
|---|---|---|---|---|
| 1 | PolymorphismBasics | 530 | Introduction to polymorphism | Virtual methods, inheritance |
| 2 | CastingExamples | 1,075 | Upcasting, downcasting, is, as |
Type casting, pattern matching |
| 3 | OverrideVirtual | 332 | Method overriding in depth | override, new, sealed keywords |
Advanced OOP concepts with performance considerations:
| # | Sample | Lines | Description | Key Concepts |
|---|---|---|---|---|
| 4 | CovarianceContravariance | 1,217 | Generic variance | in, out, variance |
| 5 | BoxingPerformance | 2,235 | Boxing/unboxing + benchmarks | Performance, memory |
| 6 | GenericConstraints | 514 | where T : constraints |
Generic constraints |
Production-ready patterns and enterprise architecture:
| # | Sample | Lines | Description | Key Concepts |
|---|---|---|---|---|
| 7 | DesignPatterns | 4,501 | 9 GoF patterns | Factory, Builder, Strategy, etc. |
| 8 | SOLIDPrinciples | 4,714 | SOLID with violations + correct | SRP, OCP, LSP, ISP, DIP |
| 9 | PerformanceOptimization | 1,448 | Span, Memory, benchmarks | Zero-allocation patterns |
| 10 | ResiliencePatterns | 280 | Polly 8.x patterns | Retry, Circuit Breaker |
| 11 | ObservabilityPatterns | 431 | Serilog, OpenTelemetry | Logging, tracing, metrics |
Cutting-edge C# features and compiler technology:
| # | Sample | Lines | Description | Key Concepts |
|---|---|---|---|---|
| 12 | SourceGenerators | 1,042 | Custom source generators | Roslyn, code generation |
| 13 | RoslynAnalyzers | 240 | Custom analyzers & fixes | Diagnostics, code fixes |
| 14 | NativeAOT | 309 | Native AOT compilation | Trimming, reflection-free |
| 15 | AdvancedPerformance | 397 | SIMD, parallelism | Vectorization, intrinsics |
Production-ready applications you can deploy:
| # | Sample | Lines | Description | Key Concepts |
|---|---|---|---|---|
| 16 | MLNetIntegration | 788 | ML.NET integration | Classification, regression |
| 17 | MicroserviceTemplate | 897 | Clean architecture | CQRS, MediatR, DDD |
| 18 | WebApiAdvanced | 878 | Production Web API | JWT, rate limiting, caching |
Total: 21,828 lines of educational code across 18 complete samples!
Built with β€οΈ by developers passionate about high-performance C# and modern programming practices.
π Ready to ship to production!
View Code β’ Report Bug β’ Request Feature