gpt4 book ai didi

.net - 按特定顺序对 SelectList 进行排序

转载 作者:行者123 更新时间:2023-12-04 06:37:47 24 4
gpt4 key购买 nike

所以我在这个方法中生成了一个 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");
}

在第一个列出的方法中,我如何在评论中对列表进行排序。我希望列表将“纽约”作为第一个元素,“伦敦”作为第二个元素,然后按字母顺序排列其余元素。

最佳答案

list.OrderBy(i => i.Text == "New York")
.ThenBy(i => i.Text == "London")
.ThenBy(i => i.Text);

或者你可以写:
var items = from i in list
orderby i.Text == "New York", i.Text == "London", i.Text descending
select i;

关于.net - 按特定顺序对 SelectList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4651773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com