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

If/else vs switch/case pattern matching

A look at if/else, switch/case, pattern matching, other options … and which is best. (spoiler: none ;) )

  Nov 3, 2023 (rev. Oct 11, 2025) ·  9 min

What are list patterns in C#?

C# has been getting a lot of pattern matching love in recent years, like with list patterns in C# 11. The problem is knowing where and how to use it.

  Aug 31, 2023 (rev. Oct 11, 2025) ·  8 min