This site runs best with JavaScript enabled.

REST API Design, ASP.NET Core, Microservices, and more.

Iterators in C#, IEnumerable<T>, and IAsyncEnumerable<T>

TL;DR – Iterators - the thing that allows you to use the yield keyword in functions that return IEnumerable<T> - do magic under the hood and are significantly different from non… Read Article →

A Brief Comparison Between Newtonsoft.Json and System.Text.Json

TL;DR – System.Text.Json is a new JSON library for .NET with different design goals from its predecessor, Newtonsoft.Json. If you’re already using Newtonsoft.Json in an existing project… Read Article →

Essential .NET, C#, VB.NET, and Web Dev Tools and Frameworks - Updated for 2019

Updated for 2019 - but this time I ended up removing a bunch of stuff, like Angular. New items are bolded. Here is my (mostly) comprehensive list of tools I use for development, either at… Read Article →

Paging in ASP.NET Web API

Paging is a useful concept in any API.  Here’s an example of one that I use pretty frequently when making APIs in ASP.NET Web API. You can download an example project (complete with unit… Read Article →

Emojis and String.Length in C#

Are you using String.Length to compute the length of a string that might include emojis? If you compute String.Length for such a string, you may not get back exactly what you expect: This… Read Article →

View all articles