Случайное число: 0 или 1
Я слишком далеко смотрю, чтобы увидеть что-то такое же простое, как выбрать номер: 0 или 1?
Random rand = new Random();
if (rand.NextDouble() == 0)
{
lnkEvents.CssClass = "selected";
}
else
{
lnkNews.CssClass = "selected";
}
Ответы
Ответ 1
Random rand = new Random();
if (rand.Next(0, 2) == 0)
lnkEvents.CssClass = "selected";
else
lnkNews.CssClass = "selected";
Random.Next выбирает случайное целое число между нижней границей (включительно) и верхней границей (исключительной).
Ответ 2
Если вы хотите 50/50 вероятность, я предлагаю:
Random rand = new Random();
if (rand.NextDouble() >= 0.5)
lnkEvents.CssClass = "selected";
else
lnkNews.CssClass = "selected";
Ответ 3
Кажется, что то, что вы хотите сделать (выберите между двумя значениями), более четко выражено с помощью метода Next
, вместо метода NextDouble
.
const int ExclusiveUpperBound = 2;
if (new Random().Next(ExclusiveUpperBound) == 0)
Полученное значение "больше или равно нулю и меньше" ExclusiveUpperBound
.
Ответ 4
Random.NextDouble()
будет выбирать любое двойное число от 0, но меньше 1,0. Большинство из этих чисел не равны нулю, поэтому ваше распределение будет не таким, как вы ожидаете.