Vb.net 生成一个随机布尔值

Vb.net 生成一个随机布尔值,vb.net,random,Vb.net,Random,我有点被一个简单的问题困住了:如何生成一个简单的随机布尔值? 如果我是正确的,那么布尔值0=false和1=true,但是如何使用它呢 当前代码: Dim RandGen As New Random Dim RandBool As Boolean RandBool = Boolean.Parse(RandGen.Next(0, 1).tostring) 也许是这样的 string[] trueOrFalse = { "false", "true"}; bool

我有点被一个简单的问题困住了:如何生成一个简单的随机布尔值?
如果我是正确的,那么布尔值0=false和1=true,但是如何使用它呢

当前代码:

Dim RandGen As New Random
Dim RandBool As Boolean
RandBool = Boolean.Parse(RandGen.Next(0, 1).tostring)

也许是这样的

        string[] trueOrFalse = { "false", "true"};
        bool RandBool = bool.Parse(trueOrFalse[RandGen.Next(0,2)]);
或者简单地说:

Random rng=new Random();
bool randomBool=rng.Next(0,2)>0;
节省了一些解析文本的处理能力,而一个简单的比较就足够了


编辑:第二个参数是独占的,所以应该是
。下一个(0,2)

将RandGen设置为新的随机变量

    Dim RandBool As Boolean

    RandBool = RandGen.Next(0, 2).ToString

    TextBox1.Text = RandBool

生成一个随机数,乘以2并向下取整
CInt(Math.Floor(Rnd()*2))
应该生成0或1,然后您也可以使用它们,请参见前面的问题:Dudledok它确实工作-但它是如何工作的?特别是与2的乘法对我来说是令人惊讶的。好主意,但是为什么要将数组声明为字符串数组而不是布尔数组呢?你有一个额外的不必要的步骤。那很好,我会去的,谢谢。它是如何工作的?它是否将resultung随机数四舍五入为0/1,然后测试该值是否大于0?它生成整数0或1。如果该数字大于零,则检查该数字。如果是,则返回
true
,否则返回
false
。它实际上只是内联if语句。由于实际数字生成器已经生成了50%的零或一概率,因此只需将其从
[0,1]
映射到
[false,true]
。0的第一个参数是可选的,因为这是默认值
rng.Next(2)>0就足够了。这是否意味着我们可以在VB.NET中为Booelan类型的变量分配一个字符串值?