C # случайный, если оператор и метка добавляются - PullRequest
0 голосов
/ 28 января 2019

Таким образом, при нажатии кнопки предполагается генерировать случайное число и делать оператор if в отношении того, какое число выбрано, однако, когда я пытаюсь это сделать, я всегда получаю первый вариант.Кроме того, в операторах if я пытаюсь взять текст из существующей метки и добавить его к другой метке, однако на метке, к которой он добавляется, он продолжает печатать "System.Windows.Forms.Label, Text:"перед текстом, не знаю почему.

Random random = new Random();

int index = random.Next(0, 1);
if (index == 0)
{
    TeamTenLabel.Text += TeamThreeLabel.ToString();
}
else if (index == 1)
{
    TeamTenLabel.Text += TeamFourLabel.ToString();
}

Ответы [ 2 ]

0 голосов
/ 28 января 2019

В случайном диапазоне вам нужно +1 для MaxValue, потому что оно эксклюзивно.

Для случайного выбора от 0 до 100 вам нужно использовать random.Next (0, 101) вместо random.Next (0, 100)

Параметры

minValue Int32: включенная нижняя граница возвращаемого случайного числа.

maxValue Int32 Возвращена исключительная верхняя граница случайного числа.maxValue должно быть больше или равно minValue.

https://dotnetfiddle.net/8iBZ3i

Random random = new Random();
int index = random.Next(0, 2);
if (index == 1)
{
    TeamTenLabel.Text += TeamThreeLabel.Text;
}
else //if (index == 0) //If there is only two options 1 or 0, the second if is unecessary
{
    TeamTenLabel.Text += TeamFourLabel.Text;
}
0 голосов
/ 28 января 2019

int является целым числом, случайное целое число между 0 и 1 всегда равно 0, максимальное значение минус 1 (Далее возвращает неотрицательное случайное целое число, котороеменьше указанного максимума, и с целым числом есть только одна опция: 0);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...