C#のOrderByでnullを後ろにもっていく
LINQ で OrderBy をする際に、対象に null が含まれていると、null が先頭になってしまいますね。
null をソート時に制御する
null を後ろに持って行きたい場合は、いったん null ではないキーを並び替えた後、ThenBy でもう一度並び替えをします。var lst = new List<string>() { "A", "B", "C", null }; // null, A, B, C var orderbyList = lst.OrderBy(x => x); // A, B, C, null var orderbyList2 = lst.OrderByDescending(x => !string.IsNullOrEmpty(x)).ThenBy(x => x); var orderbyList3 = from x in lst orderby !string.IsNullOrEmpty(x) descending, x select x;