拥有一个List<Office>
,其中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;
在性能方面,是否有更好的方式进行?