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);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д