当前位置: 首页 > 编程语言 > C#

如果数字匹配上一个,生成一个随机数分享

时间:2023-04-10 11:01:58 C#

如果数字匹配上一个,生成一个随机数我想创建一个前面有文字的随机数,我不要系统显示两个二级号码。所以,这就是我的做法:Random_rand=newRandom();privatevoidRandomNumberGenerator(){intrandom=_rand.Next(10000);字符串文本=“TP0”+随机;如果(random.Equals(random)){_rand.Next();}else{random=_rand.Next(10000);}MessageBox.Show(文本);我没有得到任何数字显示两次(但我不太确定,因为我只是关闭程序,直到它显示数字5次(所有这些都不是相同的数字)。是否有机会显示上面代码中的数字两次?谢谢。编辑以摆脱幻数和理智。Random_rand=newRandom();HashSet_taken=newHashSet();object_syncRoot=newobject();privateintRandomNumberGenerator(){lock(_syncRoot){constintMAX_NUMBER=10000;if(_taken.Count==MAX_NUMBER){thrownewException("所有可能的数字都已经生成了。");}intrandom=_rand.Next(MAX_NUMBER);while(_taken.Contains(random)){random=(random+1)%MAX_NUMBER;}_taken.Add(random);returnrandom;}}SonerGonul说的对,随机的,我觉得,相等(随机)永远成立。可以(粗略地)用另一个int变量来解决,它会成为最后生成的数字,然后当函数进入它的下一个循环时,它会引用新的随机数变量,其值存储在第二个对应的variableinvariable,就是之前的随机数。下面是一种实现方式,如果你不明白,我可以试着在一分钟内弄清楚一点以上是C#学习教程:如果数字与前面的数字匹配,则生成一个随机数分享整个如果对大家有用的话还有需要了解的C#学习教程,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: