[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на 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); } |