将具有未知值的数组显示在标签框中

时间:2016-09-03 12:27:18

标签: arrays vb.net

我是使用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

1 个答案:

答案 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