C#中唯一的4位随机数
我想生成一个唯一的4位数随机数。 这是我尝试的下面的代码:
生成随机数的代码
//Generate RandomNo public int GenerateRandomNo() { int _min = 0000; int _max = 9999; Random _rdm = new Random(); return _rdm.Next(_min, _max); }
问题是我收到了一个值为241
的随机数,这不是一个4位数字。 代码有问题吗?
//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相同。
您可以将整数格式化为前导零的字符串。
use:int _min = 1000;
如果你想要0241,请使用前导0
Random generator = new Random(); string number = generator.Next(1, 10000).ToString("D4");
只需一行代码
int num = new Random().Next(1000, 9999);
你可以考虑这样的事情。
int length = 4; int number = 50; string asString = number.ToString("D" + length);
上面的代码给出了结果0050。
同样,您可以尝试转换为字符串并validation。
我建议创建新列表并检查此列表是否包含任何数字
var IdList = new List(); do { billId = random.Next(1, 9000); } while (IdList.Contains(billId)); IdList.Add(billId);