A comparison of DateTime to DateTimeOffset

Should you use DateTime or DateTimeOffset? Well, it depends…

  Sep 6, 2025 (rev. Sep 16, 2025) ·  5 min

WebView2, a browser for WinForms in .NET 5

In .NET 5, WinForms got a WebView2 control for displaying web pages.. even ones we create on-the-fly while the app’s running. Let’s kick the tires.

  Jan 17, 2025 (rev. Sep 16, 2025) ·  6 min

TaskDialog, a new message box for WinForms in .NET 5

In .NET 5, WinForms got a major upgrade to the MessageBox called TaskDialog. It’s way more flexible and powerful - let’s check it out!

  Dec 31, 2024 (rev. Sep 16, 2025) ·  6 min

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.

  Dec 19, 2024 (rev. Sep 16, 2025) ·  2 min

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.

  Dec 18, 2024 (rev. Sep 16, 2025) ·  5 min

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.

  Dec 14, 2024 (rev. Sep 16, 2025) ·  5 min

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. Sep 16, 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. Sep 16, 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. Sep 16, 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. Sep 16, 2025) ·  5 min