C# Linq OrderBy filtering null or empty values to be last

The simplest way is to use

OrderBy(e => String.IsNullOrEmpty(e.TeamName)

This doesn’t require any extension method or custom IComparer implementation etc.

var entries = repository.Race.Where(e => e.EventId == id)
                      .OrderBy(e => String.IsNullOrEmpty(e.TeamName))
                      .ThenBy(e => e.LastName)
                      .ThenBy(e => e.FirstName);

Leave a Comment