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.
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.
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.
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.
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.
If/else vs switch/case pattern matching A look at if/else, switch/case, pattern matching, other options ... and which is best. (spoiler: none ;) )
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.