/// <summary>
/// 获取不重复的随机数
/// </summary>
/// <param name="Listnum"></param>
/// <param name="tmp"></param>
/// <param name="minValue"></param>
/// <param name="maxValue"></param>
/// <param name="ra"></param>
/// <returns></returns>
public static int getNum(int[] Listnum, int tmp, int minValue, int maxValue, Random ra)
{
for (int i = 0; i < 12; i++)
{
if(Listnum[i]==tmp){//如果出現相同的随机数
tmp=ra.Next(minValue,maxValue);
getNum(Listnum,tmp,minValue,maxValue,ra);
}
}
return tmp;
}
/// <summary>
/// 得到不重复随机数集合
/// </summary>
/// <param name="Num"></param>
/// <param name="MinValue"></param>
/// <param name="MaxValue"></param>
/// <returns></returns>
public static int [] GetRundomList(int Num,int MinValue,int MaxValue) {
Random ra = new Random();
int [] RandomList = new int[Num];//指定初始容量
int FirstRundom = 0;
for (int i = 0; i < Num-1; i++)
{
FirstRundom = ra.Next(MinValue,MaxValue);
RandomList[i]=(getNum(RandomList,FirstRundom,MinValue,MaxValue,ra));
}
return RandomList;
}
/// 获取不重复的随机数
/// </summary>
/// <param name="Listnum"></param>
/// <param name="tmp"></param>
/// <param name="minValue"></param>
/// <param name="maxValue"></param>
/// <param name="ra"></param>
/// <returns></returns>
public static int getNum(int[] Listnum, int tmp, int minValue, int maxValue, Random ra)
{
for (int i = 0; i < 12; i++)
{
if(Listnum[i]==tmp){//如果出現相同的随机数
tmp=ra.Next(minValue,maxValue);
getNum(Listnum,tmp,minValue,maxValue,ra);
}
}
return tmp;
}
/// <summary>
/// 得到不重复随机数集合
/// </summary>
/// <param name="Num"></param>
/// <param name="MinValue"></param>
/// <param name="MaxValue"></param>
/// <returns></returns>
public static int [] GetRundomList(int Num,int MinValue,int MaxValue) {
Random ra = new Random();
int [] RandomList = new int[Num];//指定初始容量
int FirstRundom = 0;
for (int i = 0; i < Num-1; i++)
{
FirstRundom = ra.Next(MinValue,MaxValue);
RandomList[i]=(getNum(RandomList,FirstRundom,MinValue,MaxValue,ra));
}
return RandomList;
}