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.
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.
What are generic attributes in C# 11? Generic attributes increase the flexibility of a very early .NET feature. Let's try using them and see how it keeps our code DRY.
Simple ways to notify a user without a MessageBox in WinForms When sending notifications in a WinForms app, a MessageBox is the only way to go... or is it? Let's get creative and see what else we might do.