Continuation of the Sharpist Project - Keep going with advanced C# topics and practical examples! 🔥
- About
- Repository Structure
- Topics Covered
- Requirements
- Installation & Setup
- How to Use
- Learning Resources
- Contributing
- License
This repository is a comprehensive learning resource for advanced C# programming concepts. It serves as a continuation of the Sharpist project, diving deeper into object-oriented programming principles, design patterns, asynchronous programming, and modern C# features.
Key Features:
- 🎯 Structured learning from fundamentals to advanced topics
- 💻 Practical, hands-on code examples for each concept
- 📖 Well-documented projects with explanations
- 🏗️ Real-world application patterns and best practices
- ⚙️ Modern C# (10.0+) features and .NET 6.0+ support
The repository is organized into focused modules, each covering specific C# concepts:
CSharp/
├── CSharp/ # Main C# project
├── Addition/ # Additional topics and utilities
├── Asynchronous/ # Async/await patterns and Task-based programming
├── Collections/ # Working with List, Dictionary, Queue, etc.
├── DLR/ # Dynamic Language Runtime examples
├── FileSystem/ # File I/O and directory operations
├── GarbageCollection/ # Memory management and GC concepts
├── LINQ/ # Language Integrated Query examples
├── MyApp/ # Sample application projects
├── Parallel/ # Parallel processing and multi-threading
├── Patterns/ # Design patterns (Singleton, Factory, etc.)
├── Processes/ # Process management and system interaction
├── REFlection/ # Reflection API and metaprogramming
├── String/ # String manipulation and formatting
├── Threading/ # Threading, locks, synchronization
├── Times/ # DateTime, TimeSpan handling
├── XML/ # XML parsing and manipulation
└── README.md # This file
- Основы ООП (OOP Fundamentals)
- Classes and Objects
- Encapsulation (Инкапсуляция)
- Inheritance (Наследование)
- Polymorphism (Полиморфизм)
- Abstraction (Абстракция)
- Records - Immutable reference types with built-in equality
- Var - Implicit type inference
- Ref & Out Parameters - Advanced parameter passing
- Structs - Value types and their use cases
- Null-Safety & Nullable Types - Null reference safety
- Generics (Обобщения) - Type-safe collections and methods
- Pattern Matching - Modern control flow patterns
- LINQ - Query syntax and method chaining for data manipulation
- Асинхронное программирование (Async/Await) - Non-blocking I/O operations
- Attributes (Атрибуты) - Metadata and compile-time behavior
- Collections - Built-in collection types and algorithms
- Threading - Multi-threaded programming and synchronization
- Parallel Processing - Parallel tasks and data processing
- Reflection - Runtime type inspection and dynamic invocation
- DLR - Dynamic Language Runtime for dynamic typing
- Design Patterns - Common solutions for recurring design problems
- File System - I/O operations and file handling
- XML Processing - Parsing and generating XML documents
- String Operations - Text manipulation and formatting
- Date & Time - DateTime and TimeSpan handling
- Garbage Collection - Memory management and cleanup strategies
- Process Management - System processes and inter-process communication
| Requirement | Version |
|---|---|
| .NET Framework | 6.0 or higher |
| C# Language | 10.0 or higher |
| IDE | Visual Studio 2022 / Visual Studio Code / JetBrains Rider |
| Runtime | .NET Runtime 6.0+ |
git clone https://github.com/Ismatjonov/CSharp.git
cd CSharpUsing .NET CLI:
dotnet buildUsing Visual Studio:
- Open
CSharp.slnin Visual Studio 2022 - Go to Build → Build Solution (Ctrl+Shift+B)
Run the entire solution:
dotnet runRun a specific project:
dotnet run --project ./CSharp/CSharp.csproj# Install C# extension if not already installed
# Open folder in VS Code
code .
# Run with F5 or Ctrl+F5- Start with the fundamentals: Begin with the OOP concepts if you're new to C#
- Explore examples: Each directory contains practical, runnable code examples
- Read the documentation: Comments and explanations are provided throughout the code
- Practice: Modify the examples and create your own variations
- Progress gradually: Move from basic to advanced topics
cd LINQ
dotnet runNavigate to the Threading/ directory to find examples of:
- Basic thread creation
- Thread synchronization
- Lock mechanisms
- Concurrent collections
- Official Documentation: Microsoft C# Documentation
- Tutorial Reference: Metanit C# Tutorial (Primary resource used)
- Interactive Learning: Microsoft Learn - C#
- .NET Official: dotnet.microsoft.com
Contributions are welcome! If you'd like to improve this repository:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
| Metric | Value |
|---|---|
| Primary Language | C# |
| Repository Type | Public |
| Status | Active Development |
| Last Updated | July 3, 2026 |
| Topics | csharp, csharp-code, learning-csharp, studying |
| License | Not specified |
This repository aims to:
✅ Provide a comprehensive learning path for C# developers
✅ Demonstrate best practices and design patterns
✅ Offer practical, executable examples for each concept
✅ Build a strong foundation in modern C# development
✅ Support learners transitioning from basic to advanced topics
For questions or issues:
- Open an issue on GitHub
- Check existing documentation and comments in the code
- Reference the learning resources section
- Original Project: Sharpist
- Author: Ismatjonov
This is an educational repository designed for learning purposes. The code examples are meant to illustrate concepts and may not be production-ready in all cases.
Happy Learning! 🚀 Keep pushing your C# skills forward!
Last Updated: July 5, 2026