C# работает в пм и зенне по разному

ian_gillan

Client
Регистрация
02.12.2017
Сообщения
41
Благодарностей
10
Баллы
8
Привет Всем! помогите плиз!
есть код


var chars = "abcdefghijklmnopqrstuvwxyz";
var stringChars = new char[21];
var random = new Random();
for (int i = 0; i < stringChars.Length; i++)
{
stringChars = chars[random.Next(chars.Length)];
}
string vParamValue = new String(stringChars);

int num_var = Convert.ToInt32(project.Variables["vars_create_count"].Value);
string vParamName = string.Concat("Var_number_",num_var);


object obj = project.Variables;
obj.GetType().GetMethod("QuickCreateVariable").Invoke(obj,new Object[]{vParamName});
project.Variables[vParamName].Value = vParamValue;

project.SendInfoToLog(vParamName, true);
project.SendInfoToLog(vParamValue, true);

Находится
91444



В пм в результате получаю как и должно быть(разные значения каждой новой переменной:

91445


А если запускаю через зенну - генерируемые значения одинаковые
91446
 

Vvafel

Client
Регистрация
24.12.2017
Сообщения
80
Благодарностей
35
Баллы
18
создать новый случайный объект в цикле
 

ian_gillan

Client
Регистрация
02.12.2017
Сообщения
41
Благодарностей
10
Баллы
8

volody00

Client
Регистрация
06.09.2016
Сообщения
897
Благодарностей
920
Баллы
93
Попробуй свой цикл
C#:
for (int i = 0; i < stringChars.Length; i++)
{
stringChars = chars[random.Next(chars.Length)];
}
поменять на такой:
C#:
lock(SyncObjects.ListSyncer)
{
    for (int i = 0; i < stringChars.Length; i++)
    {
        stringChars[i] = chars[random.Next(chars.Length)];
    }
    Thread.Sleep(500);
}
 
  • Спасибо
Реакции: ian_gillan

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 640
Баллы
113
всё происходит настолько быстро в зеннопостере, что для рандома каждый раз берется одно и тоже зерно. Судя по всему не просто быстро, а мгновенно
 
  • Спасибо
Реакции: Yuriy Zymlex

ian_gillan

Client
Регистрация
02.12.2017
Сообщения
41
Благодарностей
10
Баллы
8
Спасибо огромное!
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)