随机数发生器作为唯一的全部

时间:2012-04-21 20:46:07

标签: c# algorithm random

我正忙于C#,我尝试在0-256之间生成唯一值。我使用arraylist为this.array是一个arraylist

for (int i = 0; i < 256; i++)
      array.Add(i);

for (int i = 0; i < 256; i++)
            {
                x = rand.Next(0, m);
                dizi_random[i] = (int)array[x];               
                array.Remove(x);               
                m--;
            }

但我没有产生独特的价值。我该怎么办?

1 个答案:

答案 0 :(得分:4)

相反,使用Linq可以相当简洁地完成;生成一个范围并随机排序;

Random rand = new Random((int)DateTime.UtcNow.Ticks);

var randomArray = Enumerable.Range(0, 256).OrderBy(_ => rand.NextDouble());