所以有一个名为Article的类有2个属性
Public Property Name As String
Public Property Price As Decimal
现在我创建了另一个包含单个属性的类
Public Property Articles As Article()
这应该是某种存储库,它完全适合它应该做的事情但是现在我必须通过其中一个属性对这个集合进行排序,一次按名称排序,一次按价格排序,而不会丢失之间的连接名称和价格(例如,它必须记住啤酒成本2美元和苹果1美元)。
答案 0 :(得分:0)
您可以使用Array.Sort对数组进行排序。例如,按价格排序:
Array.Sort(Articles, Function(a1, a2) a1.Price.CompareTo(a2.Price))
答案 1 :(得分:0)
您可以将Array.Sort
与Comparison(Of T)
代表联系起来;但请注意,您的原始数组将被排序。
Array.Sort(Articles, Function(x, y) x.Name.CompareTo(y.Name))
如果要对多个值排序数组(或者想要保留原始数组),可以使用IEnumerable(Of T).OrderBy
方法(与IEnumerable(Of T).ThenBy
链接)。
' Either store the result in the current Articles variable or a new one
Dim sortedArray As Article() = Articles.OrderBy(Function(a) a.Name) _
.ThenBy(Function(a) a.Price) _
.ToArray()