asp.net 无重复随机数代码

 代码如下:  /// <summary>
  /// 产生无重复随机数
  /// </summary>
  /// <param name="num">个数</param>
  /// <param name="minValue">最小数</param>
  /// <param name="maxValue">最大数</param>
  /// <returns>数组</returns>
  public int[] getNum(int num, int minValue, int maxValue)
  {
  Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
  int[] arrNum = new int[num];//注意:数组中各元素的初始值是0,当0在取值范围内时要另处理
  int tmp = 0;
  for (int i = 0; i < num; i++)
  {
  tmp = getRandomNum(tmp, minValue, maxValue, ra);//取出值赋到数组中
  if (Array.IndexOf(arrNum, tmp) < 0)//判断是否存在,不存在的话元素tmp的索引应为-1
  {
  arrNum[i] = tmp;
  }
  else
  {
  i = i - 1;
  }
  }
  return arrNum;
  }
  public int getRandomNum(int tmp, int minValue, int maxValue, Random ra)
  {
  tmp = ra.Next(minValue, maxValue);
  return tmp;
  }