-2

我正忙于 C#,我尝试生成 0-256 之间的唯一值。我为此使用数组列表。数组是一个数组列表

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--;
            }

但我没有产生独特的价值。我能做什么?

4

1 回答 1

4

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

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

var randomArray = Enumerable.Range(0, 256).OrderBy(_ => rand.NextDouble());
于 2012-04-21T20:55:53.567 回答