.NET 3.x Random генерирует одинаковую последовательность - C#

Узнай цену своей работы

Формулировка задачи:

private void button1_Click(object sender, EventArgs e)
        {
            //timer1.Start();
            fname = GetValues(5,15);// 
            lname = GetValues(5, 15);// 
            country = GetValues(4, 12);// глобальные переменные типа string
            city = GetValues(5, 10);// 
            ybirth = GetValues().ToString();// 
            c.StartCN(); // Генерация некого слова
            cnumber = c.ConfirmationNumber;
            if (c.InsertToDB(fname, lname, country, city, cnumber, ybirth)) // Вставка данных в БД
            {
                textBox1.Text += "Loading!!!!\n"; i++; label1.Text = i.ToString();
            }
        }
        string GetValues(int min_val, int max_val)
        {
            string temp = null;
            r = new Random();
            rand = r.Next(min_val,max_val);//rand переменная типа int
            for (int i = 0; i < rand; i++)
            {
                rand = r.Next(0, 24);
                temp += chars[rand].ToString();//chars это массив букв: chars[A,B,C,D,...]
            }
            rand = 0;
            return temp;
        }
        string GetValues()
        { 
            r = new Random();
            string temp = r.Next(1945, 1999).ToString();
            return temp;
        }
Проблема в том что при каждом вызова метода GetValues(min_val,max_val) для переменных генерируются только один слово

Решение задачи: «.NET 3.x Random генерирует одинаковую последовательность»

textual
Листинг программы
r = new Random(Environment.TickCount);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.6 из 5
Похожие ответы