Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как установить рандомное значение переменной string c#

не знайка Ученик (136), закрыт 11 месяцев назад
у меня есть переменная string str и мне нужно установить ей рандомное значение
Лучший ответ
Николай Веселуха Высший разум (366549) 11 месяцев назад
 using System; 
class Program {
static void Main() {
const int length = 8;
const int minLength = 6;
const int maxLength = 18;
for (var i = 0; i < length; ++i) {
var rsl = RandomStringLatin(minLength, maxLength);
Console.WriteLine(rsl);
}
Console.WriteLine();
for (var i = 0; i < length; ++i) {
var rsс = RandomStringCirillic(minLength, maxLength);
Console.WriteLine(rsс);
}
Console.ReadKey();
}
static string RandomStringLatin(int minLength, int maxLength) {
var rand = new Random();
var length = rand.Next(minLength, maxLength + 1);
var randomString = "";
for (var i = 0; i < length; ++i) {
var reg = rand.Next(0, 2);
randomString += reg != 0
? (char)rand.Next('A', 'Z' + 1)
: (char)rand.Next('a', 'z' + 1);
}
return randomString;
}
static string RandomStringCirillic(int minLength, int maxLength) {
var rand = new Random();
var length = rand.Next(minLength, maxLength + 1);
var randomString = "";
for (var i = 0; i < length; ++i) {
var reg = rand.Next(0, 2);
randomString += reg != 0
? (char)rand.Next('А', 'Я' + 1)
: (char)rand.Next('а', 'я' + 1);
}
return randomString;
}
}
АМудрец (14797) 11 месяцев назад
Код неплохой. Только рандом вынести в статик и строку собирать через массив чаров, длина-то известна.
Николай Веселуха Высший разум (366549) А, код рассчитан на то, что один из методов будет вообще удалён за ненадобностью.
Остальные ответы
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (258849) 11 месяцев назад
 using System; 

class Program
{
static void Main()
{
Random random = new Random();
const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
int length = 10; // Set the desired length of the random string

// Generate a random string
char[] randomString = new char[length];
for (int i = 0; i < length; i++)
{
randomString[i] = chars[random.Next(chars.Length)];
}

// Convert the character array to a string
string randomStringResult = new string(randomString);

// Display the random string
Console.WriteLine("Random string: " + randomStringResult);
}
}
АМудрец (14797) 11 месяцев назад
Код неплохой. Недостаток в том, что вероятности буквы и цифры сильно неравны, т.е. строка будет преимущественно из букв.
Надо хотя бы шафлить массив после создания.
Похожие вопросы