Уникальное 4-значное случайное число в C#
Я хочу создать уникальное 4-значное случайное число. Это приведенный ниже код, который я пробовал:
код для генерации случайных чисел!--6-->
//Generate RandomNo
public int GenerateRandomNo()
{
int _min = 0000;
int _max = 9999;
Random _rdm = new Random();
return _rdm.Next(_min, _max);
}
проблема в том, что я получил случайное нет со значением 241
, который не является 4-значный номер. Есть ли проблемы с кодом?
9 ответов
//Generate RandomNo
public int GenerateRandomNo()
{
int _min = 1000;
int _max = 9999;
Random _rdm = new Random();
return _rdm.Next(_min, _max);
}
вам нужен 4-значный код, начните с 1000
вместо этого используйте этот код:
private Random _random = new Random();
public string GenerateRandomNo()
{
return _random.Next(0, 9999).ToString("D4");
}
241-четырехзначное число, если вы используете ведущие нули: 0241.
отобразите возвращаемое число со строкой формата следующим образом:
String.Format("{0:0000}", n);
0 совпадает с 0000.
241-это то же самое, что и 0241.
вы можете отформатировать целое число в строку с ведущим нулем.
вы можете считать что-то вроде этого.
int length = 4;
int number = 50;
string asString = number.ToString("D" + length);
приведенный выше код дает результат 0050.
аналогично вы можете попробовать преобразовать в строку и проверить.
Я предлагаю создать новый список и проверить, содержит ли этот список какой-либо номер
var IdList = new List<int>();
do
{
billId = random.Next(1, 9000);
} while (IdList.Contains(billId));
IdList.Add(billId);