.NET 4.x Возвращает одну и ту строку,а при точке остановки разные - C#
Формулировка задачи:
Добрый день!
Проблема следующая: Есть генератор паролей, причем пробовал и просто методом, пробовал и отдельный статический класс и обычный класс - результат одинаковый.
Возвращается одна и та же строка.
Причем, если rnd вынести из метода, то все хорошо. Если в начале метода поставить точку остановки, то тоже все хорошо.
Если просто выполнять, то возвращается одна и та же строка, сколько бы раз я не вызывал. Если меняю входной параметр, то строка дополняется.
Не понимаю, почему так происходит.
Листинг программы
- public class Service
- {
- public string GenerateNewPassword(int length = 6)
- {
- string chars = "!@$%&ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
- Random rnd = new Random();
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < length; i++)
- {
- sb.Append(chars[rnd.Next(0, chars.Length)]);
- }
- return sb.ToString();
- }
- }
Решение задачи: «.NET 4.x Возвращает одну и ту строку,а при точке остановки разные»
textual
Листинг программы
- public class Service
- {
- static Random rnd = new Random();
- const string chars = "!@$%&ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
- public string GenerateNewPassword(int length = 6)
- {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < length; i++)
- {
- sb.Append(chars[rnd.Next(0, chars.Length)]);
- }
- return sb.ToString();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д