使用随机重复数字填充数组

时间:2014-05-11 16:42:34

标签: c# random

我需要用0到11之间的随机数填充大小为12的数组,但数字需要不重复。例如{10,2,4,8,6,3,1,9,0,7,5,11} 这是我尝试的工作,但它没有工作

Random rnd = new Random(); 
      for (int i = 0; i <= 11; i++) 
      {
          int MoveNumber = rnd.Next(0, 11);
          for (int z = 0; z <= 11; z++) 
          {
              if (usednums[z] != MoveNumber) 
              {
                  usednums[i] = MoveNumber;
              }
          }          
      } 

1 个答案:

答案 0 :(得分:1)

解决方案是使用数字创建一个填充数组并将其随机化:

var random = new Random();
var numbers = Enumerable.Range(0, 12).OrderBy(r => random.Next()).ToArray();