gpt4 book ai didi

vb.net - 为什么随机数序列不一样?

转载 作者:行者123 更新时间:2023-12-01 12:30:13 25 4
gpt4 key购买 nike

我在下面写了这段代码,希望它每次运行时都能返回相同的东西,但它没有。有人可以向我解释为什么每次我运行一个专门播种的随机数生成器都会生成不同的数字,因为我编写了与命令行应用程序相同的程序并且它工作得很好。

这是我的 VB.NET 代码(损坏的代码):

'Bunch of WinForms Code
Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PictureBox1.Click
Randomize(3)
MsgBox(Rnd.ToString)
End Sub

这是我工作的 VB.NET 命令行应用程序:

Imports System.Console
Public Module rnum
Sub Main()
Randomize(3)
WriteLine(Rnd.ToString) 'Returns 0.1387751
End Sub
End Module

最佳答案

如果将控制台代码放入循环中会怎样?我打赌你会收到相同的数字序列。控制台运行 1 次并产生第一个结果,而如果您多次单击该按钮,您实际上是在循环随机化结果。

当我这样做时,当我点击按钮 4 次时,我有 4 次收到相同的 4 个数字。

Sub Main()
For x As Integer = 0 To 3
Randomize(3)
Console.WriteLine(Rnd.ToString) 'Returns 0.1387751
Next
Console.ReadLine()
End Sub

产生:
0.1387751
0.05591547
0.8356526
0.2308619

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Randomize(3)
MsgBox(Rnd.ToString)
End Sub

生产
0.1387751 第一次点击
0.05591547 第二次点击
第三次点击 0.8356526
0.2308619 第 4 次点击

关于vb.net - 为什么随机数序列不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34931491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com