Всем привет. Сижу и не понимаю, что происходит... Сделал сниппет, который берет из списка домен, раскладывает его на символы, а потом рандомно изменяет регистр букв. Должно получаться что-то вроде: doMeN.cOm Сам сниппет вот такой
Не знаю где тут ошибка, но в результате получается домен или полностью в верхнем или полностью в нижнем регистре. А теперь важное замечание. Я скорее всего не писал бы сюда и пытался бы разобраться сам, если не один момент. На 8ой строке вы можете увидеть закомментированную строку с оповещением. Так вот, если я её раскомментирую, то сниппет отрабатывает нужным мне образом, но выводит результаты рандома в лог. Изначально я добавил эту строку, чтобы проверить результат переменной rand_num от которой зависит регистр буквы. Короче магия какая-то))) Сижу туплю и не понимаю как так.
p.s. Может быть код сам по себе костыльный, но в любом случае хочется узнать причину этого волшебства
Код:
var list = project.Lists["Домены"];
string domen = list[new Random().Next(0,list.Count)]; //беру рандомный домен из списка
string res = "";
MatchCollection chars = Regex.Matches(domen,@"\S"); //разделяю домен на символы
foreach(Match match in chars) //перебираю все символы
{
int rand_num = new Random().Next(0,2);
//project.SendInfoToLog(rand_num.ToString(),true);
string w = Regex.Match(match.ToString(),@"\w").ToString();
if(w.Length>0) //если символ буква
{
if(rand_num==1)
{
res+=w.ToUpper();
}
else
{
res+=w;
}
}
else
{
res+=match.ToString();
}
}
return res;
p.s. Может быть код сам по себе костыльный, но в любом случае хочется узнать причину этого волшебства