所以我在这个方法中生成了一个 SelectList:
public static SelectList HolidayDays()
{
SelectList retval = GenerateKeyValueList<HolidayCity>(HolidayCityHelper.GetFriendlyName, HolidayCity.NotSet);
//sort list (NY, London....then the rest in order)
return retval;
}
GenerateKeyValueList<> 方法在这里定义:
public static SelectList GenerateKeyValueList<T>(Func<T, string> nameGetter, T itemToNoInclude) where T : struct, IComparable, IConvertible
{
List<SelectListItem> list = new List<SelectListItem>();
var enumList = Enum.GetValues(typeof(T));
foreach (var curr in enumList)
{
T t = (T)curr;
if (t.Equals(itemToNoInclude) == false)
{
list.Add(new SelectListItem() { Text = nameGetter(t), Value = Convert.ToInt32(t).ToString() });
}
}
return new SelectList(list, "Value", "Text");
}
在第一个列出的方法中,我如何在评论中对列表进行排序。我希望列表将“纽约”作为第一个元素,将“伦敦”作为第二个元素,其余元素按字母顺序排列。