我是使用visual basic进行编码的新手。
最近,我的教授负责编写一个允许用户输入五个单词的程序。然后应按字母顺序对单词进行排序和显示。
要做到这一点,我决定最好的方法是使用数组。
我的想法是,如果我在开始时创建了一个计数器,我可以在单击一个按钮时为数组的每一列创建一个不同的值。
如果数组超过5,我会弹出一个重置代码的消息框(虽然我意识到我还必须清除数组的内容)。
我的问题出现在显示数组。我在网上寻找解决方案,至今没有人帮助过我。
我需要将数组按字母顺序排序,然后将其显示在标签框(lbl_DisplayArray)中。由于我不知道数组的值,这已经证明是棘手的。
我的代码如下:
Public Class Form1
Dim i As Integer = 0
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim Array(4) As String
Array(i) = txt_UserWords.Text
End Sub
Private Sub btn_Next_Click(sender As Object, e As EventArgs) Handles btn_Next.Click
i += 1
If i >= 5 Then
i = 0
MsgBox("Array Limit Exceeded. Code Reset")
txt_UserWords.Text = ""
End If
End Sub
Private Sub btn_Sort_Click(sender As Object, e As EventArgs) Handles btn_Sort.Click
lbl_DisplayArray.Text =
End Sub
End Class
答案 0 :(得分:0)
你最好使用
private myList as new List(of String).
然后要对它们进行排序,只需调用.Sort()方法即可。只需致电.Add(txt_userWords.Text)
即可添加新字符串并使用.Count查看您拥有的字符串数量。
当您将它们添加到标签时,您可以使用
lbl_DisplayArray.Text = String.Join(vbCrLf, myList)
您需要成为该类成员的列表而不是本地变量(因为您声明了Array)。这将使其保持活动状态,并允许您以其他方式访问它。
----------编辑----------
Public Class Form1
private myList as new List(of String)
Private Sub btn_Next_Click(sender As Object, e As EventArgs) Handles btn_Next.Click
If myList.Count >= 5 Then
myList.Clear
Else
myList.add(txt_UserWords.Text)
End If
txt_UserWords.Text = ""
End Sub
Private Sub btn_Sort_Click(sender As Object, e As EventArgs) Handles btn_Sort.Click
myList.Sort()
lbl_DisplayArray.Text = String.Join(vbcrlf, myList)
End Sub
End Class