#579 – October 19, 2025
how .NET's resource management works and where are its limitations
Mastering the C# dispose pattern
10 minutes by Ivan Kahl
Ivan explains how .NET's resource management works and its limitations when it comes to dealing with unmanaged resources. The .NET automatically manages memory for most objects through garbage collection. However, some resources like file handles and database connections exist outside this system and need manual cleanup. The IDisposable interface provides a way to properly release these unmanaged resources and prevent memory leaks. For most cases, you simply call Dispose on wrapped resources, but direct unmanaged resources require more complex implementation patterns.
Supercharge JetBrains Rider with AI
sponsored by Jetbrains
Turn your concept into code faster than ever. Junie, the new AI coding agent from JetBrains, transforms prompts into working features in minutes, saving you tons of time. Supercharge today!
API design principle: Don’t tempt people to divide by zero
3 minutes by Raymond Chen
Raymond discusses outcomes from API review. An API design using three numbers to define supported values can lead to divide by zero errors when the increment is zero. A function calculating the closest supported value divides by the increment, which crashes when it's zero. The team should avoid zero increments entirely by setting the increment to the difference between maximum and minimum for two values, or to 1 for single values.
.NET 10: Run standalone C# files without project
6 minutes by Thomas Claudius Huber
.NET 10 introduces a new feature that lets you run C# files directly without creating a project. This makes C# suitable for scripting tasks previously done with PowerShell or Python. You can reference NuGet packages using special directives and later convert standalone files to full projects when needed.
TickerQ: The modern .NET job scheduler that beats Quartz and Hangfire
9 minutes by Anton Martyniuk
TickerQ is a modern .NET job scheduling library that offers a cleaner alternative to Quartz.NET and Hangfire. It features a code-first approach with dependency injection support, EF Core integration, and a built-in dashboard for monitoring jobs. You can easily create both one-time and recurring jobs without complex configuration or reflection-based registration. Anton walks through setting up TickerQ in a .NET project and its integration.
Improve security with dependency management and SBOM in .NET
11 minutes by Abdul Rahman
On average, 80% of your application comes from third-party dependencies—and every single one is a potential security risk. In this article, Abdul explores dependency management and Software Bill of Materials (SBOM) in .NET, showing you how to regain control over your software supply chain.
And the most popular article from the last issue was: