1

我正在尝试使用 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 函数一样。提前致谢!

4

3 回答 3

1

对我来说,使用 Linq 对 SelectItemList 进行排序的最简单方法是:

brandCategoryList.OrderBy(x => x.Text);

如果你想按文本排序。

如果要按值排序,则相同,但 x.Value:

brandCategoryList.OrderBy(x => x.Value);
于 2016-03-17T15:33:36.880 回答
0

怎么样

brandCategoryList = query.Select(Function(x) new SelectListItem With {
                                             .Text = FriendlyCategory(item),
                                             .Value = item}).OrderBy(Function(m) m.Text).ToList();
于 2013-05-24T15:42:34.673 回答
0

您可以使用Sort()

brandCategoryList.Sort(Function(a, b) a.Text < b.Text)
于 2013-05-24T15:45:23.687 回答