Selecting multiple directories with the FolderBrowserDialog in .NET 9 One of the smaller updates to make it into .NET 9 for WinForms was allowing multi-selection in the FolderBrowserDialog. Let's see how.
How to Use GetStockIcon for WinForms in .NET 8 Buried deep in the list of .NET 8 improvements for WinForms is the GetStockIcon method. It gives us a way to access stock Windows icons at runtime for the OS the app is running on. Let's check it out.
Using Raw String Literals in C# 11 / .NET 7 C# 11 added raw string literals, not a life-altering new feature, but they could be useful in the right circumstances. Let's see how to use them.
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.
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!
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.
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.
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.
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.
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.
Similar endpoints, swagger pages, and a DevOps fail After an unexpected debugging session, some thoughts on APIs, similar endpoints, swagger, and an ugly DevOps fail.