2015-10-11 2 views
-1

My C# Генератор случайных чисел приложения Windows Form возвращает только значение нуля при каждом запуске приложения. Я смотрел онлайн, и кажется, что люди иногда получают число, которое нужно повторять во время тестирования, но никогда не должно быть нуля. Который я нахожу еще более странным, потому что мои параметры указывают, что случайное число должно быть от 1 до 100 ... Пожалуйста, дайте мне знать, что вы думаете. Спасибо!Новое Случайное возвращает только ноль ... Почему?

int count; 

private void Form1_Load(object sender, EventArgs e) 
{ 
    Random num = new Random(); 
    count = num.Next(1, 101); 
} 
+4

Как вы оцениваете значение 'count'? Вероятно, вы тоже должны опубликовать этот код. – 31eee384

+0

Проведите мероприятие до формы. дважды щелкните по форме, чтобы создать событие. не только метод создания будет работать как событие –

ответ

5

Next(1, 101) не вернет ноль. Я подозреваю, что вы не зарегистрировали событие Form1_Load, поэтому он не запускает этот код вообще.

Zero - это просто значение по умолчанию для поля int.

+0

Это сработало отлично! Спасибо. Мне нужно было дважды щелкнуть форму в файле designer.cs, и она была перенесена в файл класса, а затем сработала. Спасибо всем за вашу помощь сегодня! – AtLeastTheresToast

1

я предложу еще одну догадку относительно того, что вы делаете:

Using System.Diagnostics; 

int count; 

private void Form1_Load(object sender, EventArgs e) 
{ 
    Random num = new Random(); 
    count = num.Next(1, 101); // remove your break point on this line 
    Debug.WriteLine(count); // put your break point here 
} 
2

Просто добавьте эту строку кода в конструктор Form и он будет работать:

this.Load += Form1_Load; 

Как уже сказал: Random.Next(0, 100) возвращает номер в диапазоне 0 - 99, поэтому не потому, что вы получаете это 0 все время. Просто ваш метод не вызывается.

Смежные вопросы