Learn it from developers who built it.
Tutorials, how-tos and deep dives on AI, .NET, C#, cloud and developer tools, written by the community.
Learn how to use the switch statement in C# for efficient control flow. Explore its syntax, including case labels, break statements, and default handling. Discover how to leverage switch with enums and expressions for concise and structured decision-making in your code.

To retrieve all installed fonts in C#, you can use the InstalledFontCollection class from the System.Drawing.Text namespace. This class provides access to the fonts installed on the system. By creating an instance of InstalledFontCollection, you can enumerate through the FontFamily objects to list each installed font.

The LOCK keyword is the most popular mutual-exclusive thread synchronization construct. The LOCK statement in C# is crucial for thread synchronization, preventing race conditions by restricting access to shared resources. Under the hood, it translates to the Monitor class, enhancing code efficiency and reliability.

Dive deep into abstraction in C#, exploring OOP concepts like encapsulation, inheritance, and polymorphism. Learn about abstract classes, interfaces, generics, and advanced features like delegates and events, enhancing code modularity and scalability.

The Strategy Pattern in C# facilitates flexible behavior encapsulation by defining a family of algorithms, encapsulating each one, and making them interchangeable. This promotes code reuse and simplifies maintenance.

The Monitor class is built on dotNET’s FCL (Framework Class Library) infrastructure. In general, it provides to achieve thread safety.

Explains how C# source code is tokenized, parsed, validated, compiled to IL, and executed by the CLR through JIT compilation.

Explore Object-Oriented Programming in C# through a practical journey. Learn key concepts like inheritance, polymorphism, and encapsulation while working on real-world projects. Master C# development with hands-on examples, SOLID principles, and design patterns in Visual Studio and .NET framework.

Inheritance in C# allows classes to inherit properties and behavior from other classes, facilitating code reuse and creating a hierarchy of classes. Beginners learn to establish relationships between classes, leverage base, and derived classes, and implement polymorphism for flexible and efficient code structures."

In this tutorial, we will learn how to implement Railway-Oriented programming with Result Design Pattern. Railway-oriented programming enhances error handling by structuring code like a railway track. Result types replace exceptions for expected errors, ensuring clear and manageable flows.

This article will explore each SOLID principle and demonstrate how they can be applied in C#.

This article delves into Railway-oriented Programming (ROP), a functional approach to error handling and data flow. It compares ROP to exceptions, offers a C# implementation, and discusses its benefits and considerations.

This article compares Scrutor and Autofac, two popular dependency injection (DI) libraries in C# projects. Scrutor focuses on convention-based registration, while Autofac offers advanced configuration and extensive features for complex scenarios.

This article introduces leveraging C# for importing CSV data into SQL Server databases. It outlines the benefits of using C# and provides a step-by-step guide along with a practical example script.

Explore the Proxy Pattern in C#, a structural design pattern facilitating controlled access to an object. Enhance security, logging, and lazy initialization for efficient client-server communication and remote object access.

This article explores the concept of immutability in C#, highlighting its benefits and implementation techniques. It covers creating immutable objects using read-only properties, readonly fields, and returning new instances in methods, along with the pros and cons of immutability.

Writing clean code is important so that it makes reading code easier, helps us fix and update it faster, and ensures it works smoothly and reliably. Here we will look for few tips to write clean code.

A composite design pattern is a structural design pattern. It allows developers to create multiple nested objects of the same type to complete one single system hierarches Players in this pattern.

Learn structured logging using Serilog and Seq in this comprehensive guide. Explore how to set up Serilog for .NET applications and integrate with Seq for centralized log management.

This article explores thread pooling in C#, focusing on its efficiency benefits in concurrent programming. It discusses its importance, implementation using C#, and best practices for optimal performance and scalability.

Searching for substrings within strings is a fundamental operation in software development, and in the context of C# programming, there are several techniques and methods available to accomplish this task efficiently. In this article, we will explore various string searching techniques in C#.

This article explores the concept of "method signature honesty" in functional programming with C#. It emphasizes clear communication of method behavior through signatures, promoting predictability, composability, and code understanding.

The article delves into the Single Responsibility Principle (SRP) in C#, emphasizing its importance in object-oriented programming. It illustrates SRP violations and provides improved code examples for clarity.

In C#, both interfaces and abstract classes are powerful tools for designing flexible and reusable code. Let's delve into the concepts of interface and abstract class, explore their differences, and see examples of how they are used.

CRC (Cyclic Redundancy Check) is a vital method for maintaining data integrity, commonly used in digital networks and storage devices to quickly detect unintentional modifications in data transmission and storage.

Implementation of the Damm algorithm for calculating checksums in C#. Checksum algorithms are vital for data validation and error detection. This article explores its implementation and its significance in ensuring data integrity.

In C#/.NET, converting data from one format to another, such as from a list of custom objects to a DataTable, is a frequent requirement. In this article, we'll explore efficient techniques for converting data from a list to a DataTable and vice versa, along with practical examples to illustrate each conversion process.

Explore the essential S.O.L.I.D principles in software development for robust, maintainable code. Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.

In this article, Learn how to implement message queues for asynchronous communication in C# using the System. Messaging namespace, specifically focusing on MSMQ (Microsoft Message Queuing).

Learn how to create and use C# extension methods to add behavior to existing types, including strings and interfaces, without modifying their source code.
Everything on C#, not only its articles: the C# page →
DevSocialUpcoming · 3rd editionAI Agents ConferenceNov 23–27, 2026Live onlineMembers only16days leftRegisterMembers onlyWrite an article and earn +1,000 SHARP when it is approved.
Write an article