避免重复的随机数生成器
在生成彩票或其他场景的随机数时,确保同一行中的数字唯一至关重要。最初提供的代码未能解决此问题,可能导致重复。
解决重复问题
为了解决这个问题,必须将生成的数字存储在一个集合中。每次选择一个新数字时,检查它是否已存在于集合中。如果存在,则生成一个新数字,直到找到一个唯一的数字为止。
使用不同的方法
或者,一种更有效的方法是生成 1 到 49 之间的数字序列,随机打乱它们,然后从打乱的序列中选择前六个数字。这确保了唯一性,无需不断检查。
以下是使用此方法改进后的代码:
<code>var rnd = new Random(); var randomNumbers = Enumerable.Range(1, 49).OrderBy(x => rnd.Next()).Take(6).ToList();</code>
此代码生成一个随机序列,然后对其进行洗牌并选择前六个数字,保证没有重复。
以上是如何生成唯一且不重复的随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!