So there is several ways of creating a random bool in C#:
rand.Next(2) == 0
rand.NextDouble() > 0.5
Is there really a difference? If so, which one actually has the better performance? Or is there another way I did not see, that might be even faster?
In order to generate Random boolean in Java, we use the nextBoolean() method of the java. util. Random class. This returns the next random boolean value from the random generator sequence.
If you want to create a random boolean, use this code: var random = new Random(); var randomBool = random.
The first option - rand.Next(2)
executes behind the scenes the following code:
if (maxValue < 0) { throw new ArgumentOutOfRangeException("maxValue", Environment.GetResourceString("ArgumentOutOfRange_MustBePositive", new object[] { "maxValue" })); } return (int) (this.Sample() * maxValue);
and for the second option - rand.NextDouble()
:
return this.Sample();
Since the first option contains maxValue
validation, multiplication and casting, the second option is probably faster.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With