Generate Random Boolean Probability

后端 未结 7 1706
离开以前
离开以前 2021-02-05 01:17

I only know how I can generate a random boolean value (true/false). The default probability is 50:50

But how can I generate a true false value with my own probability? L

7条回答
  •  半阙折子戏
    2021-02-05 01:56

    Assuming your probability is represented as double between 0.0 and 1.0, I would implement it more simply like this:

    Random rand = new Random();
    ...
    double trueProbability = 0.2;
    bool result = rand.NextDouble() < trueProbability;
    

    result will be true with the probability given by trueProbability

    http://msdn.microsoft.com/en-us/library/system.random.nextdouble(v=vs.110).aspx

    If this isn't "random enough", you can take a look at RNGCryptoServiceProvider:

    http://msdn.microsoft.com/en-us/library/system.security.cryptography.rngcryptoserviceprovider(v=vs.110).aspx

提交回复
热议问题