2017-06-21 182 views
0

我對編碼非常陌生,所以請原諒我。如何從數組中隨機選擇一個字符串

我曾在一個數組保存一些示例字符串:

Dim intArray(0 To 2) As String 
    intArray(0) = "I will be on time for class" 
    intArray(1) = "I will be prepared for class" 
    intArray(2) = "I will listen to the teacher and follow instructions" 

    lblTestSWPB.Text = intArray(0) 

我知道,當我點擊按鈕,生成(0)它的工作原理 - obviously.Is有沒有辦法添加的東西,使標籤從數組中隨機顯示一個字符串?

+2

從數組中獲取元素的方法是提供元素的索引,您已經知道該元素的索引。獲得隨機元素的方法是生成一個隨機數並將其用作索引。很容易找到如何在VB.NET中生成一個隨機數。只需在網上搜索明顯的關鍵字即可。只要確保忽略任何不使用Random類的結果。任何使用'Randomize'和'Rnd'的東西都應該被忽略,因爲它基本上使用VB6風格的代碼。 – jmcilhinney

+1

此外問題標題有點誤導。這個問題本身與*產生隨機字符串*無關。 –

回答

0

您可以使用類似:Random

Dim rnd As New Random 'Make sure that you declare it as New, 
'otherwise, it thorws an Exception(NullReferenceException) 
Dim intArray(0 To 2) As String 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    intArray(0) = "I will be on time for class" 
    intArray(1) = "I will be prepared for class" 
    intArray(2) = "I will listen to the teacher and follow instructions" 
End Sub 

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 
    lblTestSWPB.Text = intArray(rnd.Next(0, 3)) 
End Sub 

注意rnd.Next是從最小返回一個隨機整數的函數是包容性的下限和最大的獨家上限(感謝。 @Enigmativity進行更正。)Click this link if this answer is still unclear for you

+0

值得討論的是'rnd.Next'中的最大值是_exclusive_最大值。 – Enigmativity

+0

啊,你是對的,我很抱歉,我不能簡單地解釋它... – Karuntos

+0

非常感謝! –

相關問題