[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.
Каким образом можно сгенерировать один символ или строку из случайных символов, заданной длинны?
Первый вариант заключается в создании алфавитной строки и получения случайного символа из нее:
1 2 3 4 5 6 7 8 9 |
static void Main() { char c = RandomChar(); } static char RandomChar() { string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; return chars[new Random().Next(chars.Length)]; } |
Если необходимо получить определенное количество случайных символов, можно перегрузить данный метод следующим образом:
1 2 3 4 5 6 7 8 9 10 11 |
static void Main() { string str = RandomChar(5); } static string RandomChar(int length) { Random r = new Random(); string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; return new string(Enumerable.Repeat(chars, length) .Select(s => s[r.Next(s.Length)]).ToArray()); } |
В качестве альтернативы, символ можно получать по ее коду из таблицы Unicode:
1 2 3 4 5 6 7 8 |
static void Main() { char c = RandomChar(); } static char RandomChar() { return (char)new Random().Next(65, 91); } |
Точно так же и набор символов:
1 2 3 4 5 6 7 8 9 10 11 12 |
class Program { static void Main() { string str = RandomChar(5); } static string RandomChar(int length) { Random r = new Random(); return new string(Enumerable.Range(1, length).Select(i => (char)r.Next(65,91)).ToArray()); } } |
Еще один вариант позволяет получить символ или набор символов из сгенерированного идентификатора GUID:
1 2 3 4 5 |
static void Main() { int symbCount = 8; string result = Convert.ToBase64String(Guid.NewGuid().ToByteArray()).Substring(0, symbCount); } |