Office がクラスであるため、エントリをList<Office>
国別に並べ替える必要があります (国は Office クラスのプロパティです)。
一部のオフィスには国が設定されていないため、リストの上部に表示されます。この場合、「関連性が低い」と見なされるため、それらをリストの一番下に配置する必要があります。
switch (sortOptions.SortField)
...
case OfficeSortField.Country:
var noCountryList = officesList.Where(a => string.IsNullOrEmpty(a.CountryText)).ToList();
officesList.RemoveAll(a => string.IsNullOrEmpty(a.CountryText));
officesList= sortOptions.SortOrder == SortOrder.Ascending
? officesList.OrderBy(o => o.CountryText).ToList()
: officesList.OrderByDescending(o => o.CountryText).ToList();
officesList.AddRange(noCountryAssoList);
break;
パフォーマンスの観点から、続行するためのより良い方法はありますか?