vb.net中的2维数组排序

时间:2011-03-12 16:45:37

标签: vb.net

我在vb.net中排序2维数组时遇到麻烦。一行有5列。原始数组有3000行。如何使用pdtId进行有效排序。我试图找到谷歌搜索,无法得到正确的答案。

(0, 0) = pdtId "string" 
(0, 1) = brand name
(0, 2) = category Id
(0, 3) = url
(0, 4) = date

(1, 0) = pdtId "string" 
(1, 1) = brand name
(1, 2) = category Id
(1, 3) = url
(1, 4) = date

。 。 3000行 任何人都可以帮助我,大麻烦,:(

2 个答案:

答案 0 :(得分:1)

不要使用二维数组或数组数组。最好为五个字段创建一个类,并将该类的对象放入一维数组中:

Public Class MyData
    Implements IComparable(Of MyData)

    Public pdtId As String
    Public brand_name As String
    Public category_Id As String
    Public url As String
    Public theDate As Date

    Public Overloads Function CompareTo(ByVal obj As MyData) As Integer _
           Implements IComparable(Of MyData).CompareTo
        Return pdtId.CompareTo(obj.pdtId)
    End Function

End Class


Sub Main()
    Dim myArray(3000) As MyData

    ' Code to fill the array
    ' ...

    Array.Sort(myArray)

End Sub

答案 1 :(得分:0)

您应该在这里使用数组数组 - 多维数组仅适用于行(第一个索引)中数字'列'(第二个索引)不同的情况。

如果你改为使用数组或数组,使用Array.Sort解决问题变得非常容易。