Skip to content

Ismatjonov/CSharp

Repository files navigation

🚀 CSharp Learning Repository

Continuation of the Sharpist Project - Keep going with advanced C# topics and practical examples! 🔥


📋 Table of Contents


📚 About

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

🗂️ Repository Structure

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

🎓 Topics Covered

Object-Oriented Programming (OOP)

  • Основы ООП (OOP Fundamentals)
    • Classes and Objects
    • Encapsulation (Инкапсуляция)
    • Inheritance (Наследование)
    • Polymorphism (Полиморфизм)
    • Abstraction (Абстракция)

Modern C# Features

  • 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

Advanced Programming Topics

  • 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

🛠️ Requirements

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+

💻 Installation & Setup

Clone the Repository

git clone https://github.com/Ismatjonov/CSharp.git
cd CSharp

Build the Solution

Using .NET CLI:

dotnet build

Using Visual Studio:

  1. Open CSharp.sln in Visual Studio 2022
  2. Go to BuildBuild Solution (Ctrl+Shift+B)

Run Examples

Run the entire solution:

dotnet run

Run a specific project:

dotnet run --project ./CSharp/CSharp.csproj

Visual Studio Code Setup

# Install C# extension if not already installed
# Open folder in VS Code
code .

# Run with F5 or Ctrl+F5

🚀 How to Use

  1. Start with the fundamentals: Begin with the OOP concepts if you're new to C#
  2. Explore examples: Each directory contains practical, runnable code examples
  3. Read the documentation: Comments and explanations are provided throughout the code
  4. Practice: Modify the examples and create your own variations
  5. Progress gradually: Move from basic to advanced topics

Example: Running LINQ Examples

cd LINQ
dotnet run

Example: Understanding Threading

Navigate to the Threading/ directory to find examples of:

  • Basic thread creation
  • Thread synchronization
  • Lock mechanisms
  • Concurrent collections

📖 Learning Resources


🤝 Contributing

Contributions are welcome! If you'd like to improve this repository:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📊 Repository Stats

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

🎯 Project Goals

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


📞 Support

For questions or issues:

  • Open an issue on GitHub
  • Check existing documentation and comments in the code
  • Reference the learning resources section

🔗 Related Projects


📝 Notes

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

About

This is a continuation of repository Sharpist. We keep going -_- !

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages