2013-12-09 33 views
0

這是我的代碼,但它只顯示保存按鈕的輸出,但不顯示排序和反向按鈕。 MessageBox不顯示任何內容......?如何排序,在Visual Basic中反轉數組asp.net 2010,

Partial Class array_demo_output 
    Inherits System.Web.UI.Page 

    Dim s(5) As String 
    Dim str As String 
    Dim a As String 

    Protected Sub btn_save_Click(sender As Object, e As System.EventArgs) Handles btn_save.Click 

     s(0) = txt1.Text 
     s(1) = txt2.Text 
     s(2) = txt3.Text 
     s(3) = txt4.Text 
     s(4) = txt5.Text 
     s(5) = txt6.Text 

     MsgBox("THE LENGTH OF ARRAY S IS" + s.Length.ToString) 

     For Each a In s 
      str &= a + vbNewLine 
     Next 
     MsgBox(str, , "member of the array") 
    End Sub 

    Protected Sub btn_sort_Click(sender As Object, e As System.EventArgs) Handles btn_sort.Click 

     System.Array.Sort(s) 

     str = "" 

     For Each a In s 
      str &= a + vbNewLine 
     Next 

     MsgBox(str, , "sorted memeber of the array") 
    End Sub 

    Protected Sub btn_reverse_Click(sender As Object, e As System.EventArgs) Handles btn_reverse.Click 

     System.Array.Reverse(s) 
     str = "" 

     For Each a In s 
      str &= a + vbNewLine 
     Next 

     MsgBox(str, , "Reversed Member of the Array") 
    End Sub 
End Class 
+0

每[MSDN](http://msdn.microsoft.com/en-us/library/6tf1f0bc%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang=vb #code-snippet-1):「數組的每個元素必須實現'IComparable'接口,以便能夠與數組中的其他元素進行比較。」 – Tim

回答

0

您已在Save函數內定義了數組的元素。如果在按Save之前單擊排序或反向,則數組仍然爲空。移動數組初始化在一個單獨的函數形式加載或...

+0

你的建議正在工作 – firefly

0

你必須初始化array.It作爲空值傳遞,而在排序和反向調用。 請檢查下面的代碼

Partial Class array_demo_output 
    Inherits System.Web.UI.Page 

    Dim s(5) As String 
    Dim str As String 
    Dim a As String 
    Protected Sub btn_save_Click(sender As Object, e As System.EventArgs) Handles Button1.Click 
     loadarray() 

     MsgBox("THE LENGTH OF ARRAY S IS" + s.Length.ToString) 

     For Each a In s 
      str &= a + vbNewLine 
     Next 
     MsgBox(str, , "member of the array") 
    End Sub 

    Protected Sub btn_sort_Click(sender As Object, e As System.EventArgs) Handles Button2.Click 
     loadarray 
     System.Array.Sort(s) 

     str = "" 

     For Each a In s 
      str &= a + vbNewLine 
     Next 

     MsgBox(str, , "sorted memeber of the array") 
    End Sub 

    Protected Sub btn_reverse_Click(sender As Object, e As System.EventArgs) Handles Button3.Click 
     loadarray() 
     System.Array.Reverse(s) 
     str = "" 

     For Each a In s 
      str &= a + vbNewLine 
     Next 

     MsgBox(str, , "Reversed Member of the Array") 
    End Sub 
    Public Sub loadarray() 
    s(0) = txt1.Text 
     s(1) = txt2.Text 
     s(2) = txt3.Text 
     s(3) = txt4.Text 
     s(4) = txt5.Text 
     s(5) = txt6.Text 
    End Sub 
END Class 
0

你只是在btn_save click事件初始化數組。 在btn_reverse_Click和btn_sort_Click中,數組字符串爲空。 因此全局初始化數組。

0
Protected Sub BtnSort_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnSort.Click 
    Array.Sort(s) 
    For i = 0 To s.Length - 1 
     MsgBox(s(i).ToString()) 
    Next 
End Sub 
Protected Sub BtnRev_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnRev.Click 
    Array.Reverse(s) 
    For i = 0 To s.Length - 1 
     MsgBox(s(i).ToString()) 
    Next 
End Sub