2011-03-12 97 views
0

我很難在vb.net中排序2維數組。一行有5列。原始數組有3000行。我怎樣才能得到有效的分類與pdtId。我試圖找到谷歌搜索,無法得到正確的答案給我。vb.net中的2維數組排序

(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行 任何人都可以,你能幫助我,麻煩就大了,:(

+0

http://msdn.microsoft.com/en-us/library/cxt053xf.aspx – 2011-03-12 16:49:01

+0

@Jaroslav:Sort方法僅適用於一維數組。 – 2011-03-12 17:45:20

+0

@Doc Brown:他可以很容易地讀取數據到一個對象數組,而不是二維數組... – 2011-03-12 18:09:16

回答

0

你真的應該使用數組的數組在這裏 - 多維數組僅用於當數「欄」(第2指數)是不同的行(第一個指數)之間。

如果你做這個,而不是一個或多個陣列,使用的Array.Sort解決問題變得非常容易。

+0

謝謝你的回覆。我不太明白。我是新手, – user656760 2011-03-13 02:17:25

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 
+0

感謝百萬,我正在嘗試編碼。我會回來,不管好不好。 – user656760 2011-03-13 02:38:29

+0

我收到錯誤 「字符串類型的值不能轉化array.sort.mydata」 myArray的(0)= 「pdtId」 myArray的(1)= 「名優產品」 myArray的(2)= 「的categoryId」 myArray的( 3)= 「URL」 myArray的(4)= 「theDate」 myArray的(5)= 「pdtId」 myArray的(6)= 「名優產品」 myArray的(7)= 「的categoryId」 myArray的(8)=「 url「 myArray(9)=」theDate「 – user656760 2011-03-13 02:41:45

+0

請幫助我更多'代碼填充數組'部分。我真的很新鮮。對不起。 – user656760 2011-03-13 03:17:04