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 Build β†’ Build 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

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages