A comprehensive collection of C# learning projects demonstrating various programming concepts, design principles, and best practices.
Quick links to each project:
- Programming Paradigms Examples - Comprehensive demonstration of major programming paradigms
- Test Driven Development (TDD) Examples - TDD practices with xUnit framework
- SOLID Principles Examples - SOLID design principles with problem/solution examples
- Design Patterns - Essential creational design patterns implementation
- Sololearn Course - C# Sololearn course exercises
Location: paradigms-examples/
A comprehensive demonstration of major programming paradigms implemented in C#, showcasing real-world examples of different programming approaches.
Key Topics:
- Object-Oriented Programming (OOP)
- Functional Programming
- Procedural/Imperative Programming
- Event-Driven Programming
- Structured Programming
Tech Stack: .NET 9.0, C# 12.0
Location: tdd-examples/
Comprehensive TDD practices using xUnit testing framework with real-world examples of test-first development.
Key Topics:
- Red-Green-Refactor cycle
- Unit testing with xUnit
- Mocking and stubbing
- Data-driven testing
- Business logic validation
Examples Include: Calculator, BankAccount, ShoppingCart, SQLQueries
Location: solid-examples/
Demonstration of SOLID design principles with clear problem/solution examples and dependency injection patterns.
Key Topics:
- Single Responsibility Principle (SRP)
- Open/Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Dependency Injection patterns
Location: design-patterns/
Essential creational design patterns with practical examples and comprehensive demo code.
Patterns Implemented:
- Factory Pattern
- Abstract Factory Pattern
- Builder Pattern
- Prototype Pattern
- Singleton Pattern
Location: sololearn/
C# exercises and examples from the Sololearn course.
Each project has its own README with specific instructions. Generally, you can:
# Clone the repository
git clone https://github.com/hganchev/csharp-learning.git
cd csharp-learning
# Navigate to a specific project
cd paradigms-examples # or any other project folder
# Build and run
dotnet build
dotnet run- .NET 9.0 or later (some projects may work with earlier versions)
- C# 12.0 features recommended
- Visual Studio 2022 or VS Code with C# extension
Recommended order for beginners:
- Sololearn Course - Start with basics
- Programming Paradigms - Understand different programming approaches
- SOLID Principles - Learn design principles
- Design Patterns - Study common solutions to recurring problems
- TDD Examples - Practice test-driven development
Contributions are welcome! Please ensure any contributions:
- Include comprehensive documentation
- Follow existing code style and structure
- Provide practical, real-world examples
- Include proper error handling and validation
This repository is for educational purposes.