m_ListOfsAllFields.OrderBy(Function(x) x.DisplayOrder)
这里我有DisplayOrder = 0的2个字段,所以orderby搞乱了,没有正确排序。我如何使用orderby订购这个集合?Linq OrderBy - 重复值
m_ListOfsAllFields.OrderBy(Function(x) x.DisplayOrder)
这里我有DisplayOrder = 0的2个字段,所以orderby搞乱了,没有正确排序。我如何使用orderby订购这个集合?Linq OrderBy - 重复值
这里的问题是OrderBy
不会修改相应的集合,而是会创建一个正确排序的新IEnumerable(Of T)
实例。您需要将结果保存为int 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))
如果两个对象可以有一个OrderBy
使用的属性相同的值,要进一步分化,加ThenBy
。
Dim results = sequence.OrderBy(yourFunction).ThenBy(anotherFunction)