如何在C#中生成5位数字的玩家ID?
生成5位数字玩家ID的问题解决办法
你的代码存在几个问题,导致生成了10位数字:
- Random类的构造函数首字母需要大写,原代码里
new System.random()是错误写法,正确应为new System.Random() - 那段for循环完全多余,循环5次每次都覆盖
playerId的值,最后只保留最后一次的随机数,对生成5位ID没有任何作用 Random.Next()无参方法会返回0到int.MaxValue(2147483647)之间的随机数,这个范围的数字自然会是多位
要生成5位数字的玩家ID,你需要限定随机数的范围在10000到99999之间(确保是5位且不会以0开头),直接调用Random.Next(int minValue, int maxValue)方法即可,其中maxValue是排他的,所以传入100000作为上限。
修正后的代码:
int playerId; System.Random rand = new System.Random(); playerId = rand.Next(10000, 100000); Console.Write($"Generating player ID: {playerId}");
如果允许ID以0开头(比如00001这种格式的字符串),可以先生成0到99999的随机数,再格式化为5位带前导零的字符串:
System.Random rand = new System.Random(); int rawId = rand.Next(0, 100000); string playerId = rawId.ToString("D5"); Console.Write($"Generating player ID: {playerId}");
内容的提问来源于stack exchange,提问作者NorwaySlayer
相关产品推荐
相关产品推荐

