Random генерирует одни и те же значения - C#
Формулировка задачи:
вот пример кода:
Скажите - почему у меня c и d - всегда одни и те же числа, хотя функция 2 раза вызвалась.
если раскидать подсчёт с и d на разные кнопки, то числа будут разные.
может быть в моём примере c=d, т.к. новый rand просто не успевает сгенерировать компьютер?
double ran(double a) { Random rand = new Random(); a = rand.NextDouble(); return a; } double c = 0.0, d = 0.0; private void button1_Click(object sender, EventArgs e) { listBox1.Items.Clear(); c = ran(c); d = ran(d); listBox1.Items.Add(c); listBox1.Items.Add(d); }
Решение задачи: «Random генерирует одни и те же значения»
textual
Листинг программы
using System; namespace ConsApp_Randomizer { class Randomizer { static Random random; public Randomizer() { if (random == null) random = new Random(); } public double NextDouble() { return random.NextDouble(); } public int Next() { return random.Next(); } public int Next(int maxValue) { return random.Next(maxValue); } public int Next(int minValue, int maxValue) { return random.Next(minValue, maxValue); } public void NextBytes(byte[] buffer) { random.NextBytes(buffer); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д