Vb.net 文本框中的多个随机值和递增值

Vb.net 文本框中的多个随机值和递增值,vb.net,Vb.net,我想用这段代码创建,做多次随机(即循环)做20-30次随机。我怎么能这么做?我想在每次进入下一个随机步骤时增加+1文本框的值 TextBox1.Text = Val(TextBox1.Text) + 1 代码: 随机值不起作用 尺寸rnd为新随机(5)' 虽然这可能不是一个直接的答案,但它应该有助于澄清一些事情 正如我在评论中所说,使用新随机数(5)不会为您生成5个随机数的序列。它只是为随机数生成器设置种子。这意味着调用Random.Next()时生成的数字序列将遵循相同的模式,因为它们都具有

我想用这段代码创建,做多次随机(即循环)做20-30次随机。我怎么能这么做?我想在每次进入下一个随机步骤时增加+1文本框的值

TextBox1.Text = Val(TextBox1.Text) + 1
代码:

随机值不起作用

尺寸rnd为新随机(5)'


虽然这可能不是一个直接的答案,但它应该有助于澄清一些事情

正如我在评论中所说,使用
新随机数(5)
不会为您生成5个随机数的序列。它只是为随机数生成器设置种子。这意味着调用
Random.Next()
时生成的数字序列将遵循相同的模式,因为它们都具有相同的种子(请参阅)

注意:理想情况下,在创建
新的Random()
时,不要设置种子值。它们当前时间将用作默认种子


在具有已定义种子的循环内创建新的随机(x)

”因为random是在循环内声明的,使用相同的种子值
'每次循环执行时,都会生成相同的随机序列。
'Random.Next()将继续访问序列中的第一个值。
对于i=1到5
作为新随机变量的尺寸rnd(5)
TextBox1.AppendText($“{rnd.Next(0,11)}|”)
下一个
输出:
3 | 3 | 3 | 3 | 3


使用定义的种子在循环外部创建新的随机(x)

”因为现在在循环外声明了random,并且调用了random.Next()
'在循环内部,输出序列实际上在进行。
'请注意,第一个数字与上一个示例相同,因为种子是相同的。
作为新随机变量的尺寸rnd(5)
对于i=0到5
TextBox1.AppendText($“{rnd.Next(0,11)}|”)
下一个
输出:
3 | 3 | 2 | 6 | 5 | 10


创建具有相同种子的多个新随机(x)实例

实例1 尺寸rnd1作为新随机变量(5) 对于i=0到5 TextBox1.AppendText($“{rnd1.Next(0,11)}|”) 下一个 "例二, 将rnd2作为新的随机变量(5) 对于i=0到5 TextBox2.AppendText($“{rnd2.Next(0,11)}|”) 下一个 实例3 尺寸rnd3作为新随机变量(5) 对于i=0到5 TextBox3.AppendText($“{rnd3.Next(0,11)}|”) 下一个 实例1输出:
3 | 3 | 2 | 6 | 5 | 10

实例2输出:
3 | 3 | 2 | 6 | 5 | 10


实例3输出:
3 | 3 | 2 | 6 | 5 | 10

不太清楚您正在尝试做什么,以及什么不起作用。将Dim rnd作为新随机变量(ValRnd)“不起作用”是什么?提供的代码的哪一部分应该循环?我假设从
TextBox1.Text=Val(TextBox1.Text)+1
到结尾应该是一个循环?您是否希望
Dim rnd作为新随机数(5)
生成5个随机数?仅仅说
不起作用
并不能帮助我们理解这个问题。是的,我希望生成5个随机数。Dim rnd As New Random(5)将字符串值指定给整数。将
Dim ValRnd As Integer=TxtNumRnd.Text
替换为
Dim ValRnd As Integer=CInt(TxtNumRnd.Text.Trim())
这不是随机工作的方式。调用
.Next()
实际上是为您生成随机数。将值传递给构造函数(如
New Random(5)
)仅设置用于计算随机数序列起始值的
seed
值,如果在执行此操作时使用相同的seed值,并在调用
rnd.Next()之前继续初始化新随机数,你总是会生成相同的数字。这真的很有帮助,正是我所需要的,因为我不了解某些事情。
   Dim strWords As String() = str1.Split(",")
        'Create an instance of the Random class
        Dim ValRnd As Integer = TxtNumRnd.Text
        Dim rnd As New Random(ValRnd)' (Values Random not worked)
        'Get a random number from 1 to 80  (2 digits)
        TextBox1.Text = Val(TextBox1.Text) + 1
        Dim randomNumber As Integer = rnd.Next(0, 81)
        If randomNumber = strWords(StrwrVal.Text) Then
            Exit For
        Else
            TxtRnd1.Text = TxtRnd1.Text & vbNewLine & randomNumber
        End If
    Next
Next