随机数列表 – arc4random

我想创build一个从0到9的数字数组,并希望他们是随机的

意思是,当用户点击一个UIButton时,它会创build一个对象4,5,8,3,6,2,9,1,7,0的NSMutableArray

当用户再次点击该button时,它会生成另一个0-9的随机数列表,依此类推。

我遇到的问题是arc4random例程。 那个程序一次只能在0-9之间吐出一个随机数。 我必须保存它吐出的数字并将其存储到数组中。 然后我将检查下一个随机数是否已经在数组中,如果没有,则将其添加到数组中,否则保持循环直到find一个不在我的数组中的数字。 继续做这个疯狂,直到我的数组大小为10。

这一切都很好,为0-9的小arrays。 如果我需要创build一个0到1000之间的随机数组。

我正在寻找的是一种有效的方法,不需要5年的时间来完成。 有什么想法吗?

按照这个SO回答whats-the-best-way-to-shuffle-an-nsmutablearray ,只需在可变数组中创build数字0..9(或0..1000,无论什么)的列表,然后随机地将它们。

你可能想要使用Random和Linq

Random random = new Random(0); var myRandom = Enumerable.Repeat(0, n).Select(i => random.Next(0, 9)); 

其中n是你想要的数字的数量

希望有所帮助