Using Primary Constructors with Classes and Structs in C# 12 / .NET 8

As part of C# 12, we got a new feature called primary constructors. Let’s see how they work and what we can do with them.

  Dec 13, 2024 (rev. Oct 11, 2025) ·  5 min

Records, Classes and Equality in C# 9 / .NET 5

The record modifier can define properties and equality in our classes for us, saving time and keeping our code cleaner. Let’s see how it works!

  Dec 10, 2024 (rev. Oct 11, 2025) ·  6 min

Set-based LINQ - ExceptBy, IntersectBy, UnionBy, DistinctBy

The .NET team has made some helpful additions to LINQ in recent years. Today let’s check out the various set-based updates from C# 10 / .NET 6.

  Dec 8, 2024 (rev. Oct 11, 2025) ·  6 min

Using MinBy and MaxBy in C# 10 / .NET 6

The .NET team has made some helpful additions to LINQ over the last few years. Today let’s check out MinBy and MaxBy from C# 10 / .NET 6.

  Dec 5, 2024 (rev. Oct 11, 2025) ·  5 min

Using CountBy and AggregateBy in C# 13 / .NET 9

It’s great to see Microsoft still giving us new things in LINQ. With C# 13 / .NET 9, we get CountBy and AggregateBy, so let’s see how to use them.

  Dec 3, 2024 (rev. Oct 11, 2025) ·  5 min

Async, CancellationToken, and IProgress in 5 Short Examples

Async code isn’t always intuitive, but practicing helps. Let’s take a look at Async, CancellationToken, and IProgress, in a few short examples.

  Oct 7, 2024 (rev. Oct 11, 2025) ·  8 min

Using TimeProvider and FakeTimeProvider in WinForms

Testing .NET code involving time has always been a pain, but the TimeProvider class (backported to the .NET Framework) gives us awesome new tools.

  Feb 5, 2024 (rev. Oct 11, 2025) ·  7 min

SSRS won't show the updated default value for a parameter

Changed the default value for a report parameter, but it’s not actually updating in SSRS? That’s by design. Let’s find a way around it.

  Jan 31, 2024 (rev. Oct 11, 2025) ·  6 min

How to use (and test) TimeProvider timers in .NET

Testing timers in C# is difficult, but .NET 8 (C# 12) adds an abstract TimeProvider class that makes it easier. Let’s take a closer look.

  Jan 11, 2024 (rev. Oct 11, 2025) ·  10 min

How to use TimeProvider and FakeTimeProvider (time abstraction in .NET)

Testing time in C# is difficult, but .NET 8 (C# 12) adds an abstract TimeProvider class that makes it easier. Let’s take a closer look.

  Jan 7, 2024 (rev. Oct 11, 2025) ·  12 min