m_ListOfsAllFields.OrderBy(Function(x) x.DisplayOrder)
这里我有两个字段的DisplayOrder = 0,所以orderby搞乱了,没有正确排序。如何使用orderby订购此系列?
答案 0 :(得分:5)
这里的问题是OrderBy
不会修改集合,而是创建一个正确排序的新IEnumerable(Of T)
实例。您需要将结果保存在m_listOfsAllFields
值中。
m_ListOfsAllFields = m_ListOfsAllFields.OrderBy(Function(x) x.DisplayOrder)
如果这是List(Of T)
的实例,您应该直接使用Sort
方法。
m_ListOfsAllFields.Sort(Function (l, r) l.DisplayOrder.CompareTo(r.DisplayOrder))
答案 1 :(得分:2)
如果两个对象对于一个OrderBy
中使用的属性具有相同的值,并且您想要进一步区分,请添加ThenBy
。
Dim results = sequence.OrderBy(yourFunction).ThenBy(anotherFunction)