
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.

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.

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.

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.

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

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

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.

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.

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.

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

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.