vb.net中的二维数组排序

vb.net中的二维数组排序,vb.net,Vb.net,我在vb.net中排序二维数组时遇到问题。一行有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 (

我在vb.net中排序二维数组时遇到问题。一行有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行
有人能帮我吗,大麻烦:(

你真的应该在这里使用数组数组-多维数组只适用于“列”(第二个索引)的数量在行(第一个索引)之间不同的情况


如果将其改为一个或多个数组,则使用array.Sort来解决问题会变得非常简单。

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

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

@雅罗斯拉夫:排序方法只适用于一维数组。@Doc Brown:他可以很容易地将数据读入一个对象数组,而不是二维数组……谢谢你的回答。我不太明白。我是新手,非常感谢,我正在尝试编码。我会回来看看是否正确。我有错误“字符串类型的值无法转换为数组。sort.mydata”myArray(0)=“pdtId”myArray(1)=“brandname”myArray(2)=“categoryId”myArray(3)=“url”myArray(4)=“theDate”myArray(5)=“pdtId”myArray(6)=“brandname”myArray(7)=“categoryId”myArray(8)=“url”myArray(9)=“theDate”“请帮我更多的‘填充数组的代码’部分。我真的很新鲜。对此表示抱歉。无论如何,非常感谢,:)我是根据下面的@user656760:获得的,因为我不知道您的数据来自何处,也不知道数据流向何处,所以我无法告诉您“填充数组的代码”在您的案例中应该是什么样子。如果您有任何困难,请编辑您的原始帖子,并在出现问题的地方添加代码。