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.
Explore practical examples of using ThreadPool in C# for parallel tasks. Learn how to queue work items, handle synchronization, monitor and manage ThreadPool, and follow best practices for efficient concurrent programming.

C# virtual keyword is used to create a virtual method in C#. Learn how to use virtual methods in C#.

Learn about Multithreading and the difference between using Thread and threadPool. The difference between multithreading and concurrency

The external data is recognized as the data we must pull or push from outside of a boundary of the process hosting the computer program. A very important kind of external data is streaming data. Usually, this data kind is managed using file and stream concepts. To save/read working data using streams, we need serialization/deserialization operations between streaming and object-oriented data.

C# 12 introduces a game-changer: default lambda parameters. This article delves into this powerful feature, showcasing its functionalities, advantages, and practical applications through detailed examples across diverse scenarios. Learn how to reduce code duplication and enhance readability.

In this article, we will learn how to avoid common mistakes in C# programming. From efficient null checking and using tuples instead of classes to optimizing string concatenation and evaluating default values correctly.

In this article we will discuss about how to create custom immutable type in c#

Dependency Inversion Principle (DIP) and Dependency Injection (DI) are pivotal in crafting resilient software. Learn their implementations in C# for modular, adaptable, and maintainable code structures.

C# 12 unveils a hidden gem: ref readonly parameters. This article delves beyond the surface, offering a deep dive into their benefits, usage patterns, and how they differ from familiar options like ref and in. Embrace their power for safer, clearer, and more efficient code. In the current digital era, we try to de-couple applications from one another so it is supposed to adapt to plug it in another version or another application easily.

Explore the power of delegates in C#, providing type-safe function pointers for indirect method invocation. Learn declaration, initialization, characteristics, and use cases for enhanced code flexibility and extensibility.

Learn how C# 12 collection expressions simplify creating arrays, lists, spans, and other collections, including use of the spread operator.

Learn how C# 12 primary constructors reduce constructor boilerplate, initialize members, support inheritance, and improve class readability.

In this article, I will explain the Nuget library "SuperConvert" that provides seamless data conversion for.net, like Convert datatable to JSON. Convert JSON to Datatable, Convert CSV to DataTable, Convert CSV to JSON, Convert DataTable to CSV, Convert DataTable to XLS, Convert JSON to CSV, Convert JSON to XLS.

Article on the IDisposable pattern in C#, covering introduction, details, code examples, and best practices. This article will explore the IDisposable pattern, its significance, and how to implement it effectively in C# code.

Embark on a learning journey into the world of Clean Architecture, a transformative paradigm in software development. Uncover its core principles, such as separation of concerns and testability, with real-life examples. Elevate your development skills.

Unlock the potential of Action and Func delegates in C# programming. Dive into the world of expressive and readable code, utilizing these powerful tools for method-passing, event handling, and more. Happy coding!

Unlock the potential of C#'s HttpClient class with HttpClientHandler. Delve into its capabilities—handling cookies, managing proxies, configuring SSL/TLS, timeouts, and more—to optimize and control HTTP requests effectively.

Guard clauses are an essential aspect of writing clean, readable, and robust code in C#. They serve as initial validation checkpoints at the beginning of a method, ensuring that the method is executed only when the incoming parameters meet certain criteria. Guard clauses help in the early detection of invalid inputs or conditions, preventing further execution of the method and reducing the chances of unexpected errors.

Learn how C# and .NET interceptors use Castle DynamicProxy to add logging and other cross-cutting concerns around method calls.

Below is an example demonstrating how to dynamically create buttons and add them to a panel in a Windows Forms application. Each button will have a name and value associated with it. On clicking any of these dynamically created buttons, a message box will display both the name and value of the clicked button:

The power of software design with the Factory Pattern in C#. This comprehensive guide explores its role, benefits, and step-by-step implementation, empowering developers to craft modular and scalable code effortlessly.

JSON serialization and deserialization in C#! Learn the ropes with Newtonsoft.Json (Json.NET) or the built-in System.Text.Json. Level up your data interchange skills for seamless system communication.

Unit Testing in C# for Robust Code. The world of C#—a modern, versatile, and object-oriented language. Explore its features, from OOP principles to cutting-edge enhancements like records, source generators, and nullable reference types.

Dive deep into the world of C#—a modern, versatile, and object-oriented language. Explore its features, from OOP principles to cutting-edge enhancements like records, source generators, and nullable reference types.

Unlock C#'s hidden potential with features that make coding a breeze. Streamlined constructors, effortless collections, and enhanced lambdas await!

Extension Methods in .NET, a powerful feature introduced in .NET Framework 3.0. Learn how to seamlessly add or extend methods to existing types, enriching your coding experience. ??

Design Patterns in the object-oriented world are a reusable solution to common software design problems that repeatedly occur in real-world application development. It is a template or description of how to solve problems that can be used in many situations.

Adapter Pattern in C#—a structural design pattern facilitating collaboration between incompatible interfaces. Learn its components and implementation, fostering code reusability and system integration.
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