2014-02-17 117 views
0

假設一個陣列由值:的Array.sort()工作不正常

dim arrnum() as integer=nothing 

arrnum由值(3,8,6,15,2,10)

while using Array.sort(arrnum) 

valuse按照方式排序。 (10,15,2,3,6,5)

其實我需要排序的值。

你能幫我嗎?

+4

您對字符串數組進行排序。如果您需要整數數組,則將其設置爲整數。顯示你的代碼。 –

+0

看起來你實際上有一個字符串數組,而不是一個整數數組;然而:'在使用Array.sort(arrnum)'時 - 這甚至意味着什麼? –

回答

0

假設你的排序數組實際上是10, 15, 2, 3, 6, 8(即包含與原始元素相同的元素),它看起來像是按照字典順序排序(一種說法是字符串排序而不是數字排序的奇妙方式)。

換句話說,1015小於2如果你基於字符數據的排序,因爲1小於2

這使我懷疑你的陳述的真實性,他們實際上是整數,所以這將是我會檢查的第一件事。

0

我覺得你有一些錯誤定義數組 拿來看下面的代碼這個工作

Dim arrnum() As Integer = Nothing 
arrnum = {3, 8, 6, 15, 2, 10} 
Array.Sort(arrnum) 
0

Unsuprisingly,代碼

Sub Main 
    Dim array = {3, 8, 6, 15, 2, 10} 
    System.Array.Sort(array) 
    Console.WriteLine(String.Join(", ", array)) 
    Console.ReadKey() 
End Sub 

作品完全如我期望的那樣。

你正在做一些錯誤的事情。

在我們可以幫助你之前,你需要告訴我們你到底在做什麼。

我吸引到建議要排序的String的陣列,但在搜索結果中的65顛倒的字母順序排列。請注意,值5甚至不存在於初始數組中。另外,Array.Sort不返回任何東西,所以會有nothing傳遞給usingwhile