我正在尝试使用LINQ对SelectListItem列表进行排序,但没有成功。
For Each item In query
brandCategoryList.Add(New SelectListItem With {
.Text = FriendlyCategory(item),
.Value = item
})
Next
brandCategoryList.OrderBy(Function(m) m.Text)
我做错了什么?结果以原始顺序返回,就像未调用OrderBy函数一样。提前谢谢!
答案 0 :(得分:0)
怎么样
brandCategoryList = query.Select(Function(x) new SelectListItem With {
.Text = FriendlyCategory(item),
.Value = item}).OrderBy(Function(m) m.Text).ToList();
答案 1 :(得分:0)
您可以使用Sort()
brandCategoryList.Sort(Function(a, b) a.Text < b.Text)
答案 2 :(得分:0)
对我来说,使用Linq对SelectItemList进行排序的最简单方法是:
brandCategoryList.OrderBy(x => x.Text);
如果您想按文字排序。
如果您想按值排序,则相同但是x.Value:
brandCategoryList.OrderBy(x => x.Value);