110,024
社区成员




public int getNum(int[] arrNum, int tmp, ref Random ra, int i)
{
int n = 0;
int result = tmp;
while (n <= i - 1)
{
if (arrNum[n] == tmp) //利用循环判断是否有重复
{
tmp = ra.Next(0, 9); //重新随机获取。
result=getNum(arrNum, tmp, ref ra, i);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
}
n++;
}
return result;
}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
namespace JustTry
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine(GenerateRandomCode(i));
}
Console.ReadLine();
}
/// <summary>
/// 获取指定长度的不重复的随即数
/// </summary>
/// <param name="codeLength">随即数的长度</param>
/// <returns>返回生成的随即数</returns>
public static string GenerateRandomCode(int codeLength)
{
List<char> codes = new List<char>();
//初始化集合,0到9十个数字
for (int i = 0; i < 10; i++)
{
codes.Add((char)(i + '0'));
}
Random random = new Random();
char[] randomCode = new char[codeLength];//定义字符数组存放生成的随即码
for (int i = 0; i < randomCode.Length; i++)
{
randomCode[i] = codes[(int)(codes.Count * random.NextDouble())];//count指集合中实际的元素个数
codes.Remove(randomCode[i]);
}
return new string(randomCode);
}
}
}
Random ra=new Random(unchecked((int)DateTime.Now.Ticks));
int[] arrNum=new int[10];
int tmp=0;
int minValue=1;
int maxValue=10;
for (int i=0;i<10;i++)
{
tmp=ra.Next(minValue,maxValue); //随机取数
arrNum=getNum(arrNum,tmp,minValue,maxValue,ra); //取出值赋到数组中
}
.........
.........
public int getNum(int[] arrNum,int tmp,int minValue,int maxValue,Random ra)
{
int n=0;
while (n<=arrNum.Length-1)
{
if (arrNum[n]==tmp) //利用循环判断是否有重复
{
tmp=ra.Next(minValue,maxValue); //重新随机获取。
getNum(arrNum,tmp,minValue,maxValue,ra);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
}
n++;
}
return tmp;
}
public int getNum()
{
string s = "";
Random ra = new Random();
while (s.Length != 4)
{
string st = (ra.Next(0, 9)).ToString();
if (!s.Contains(st))
s += st;
}
int i = Convert.ToInt32(s);
return i;
}
public string getRandomNum()
{
string[] arr = new string[4];
int[] arrNum = new int[4];
Random ra = new Random();
int tmp = 0;
for (int i = 0; i <= 3; i++)
{
tmp = ra.Next(0, 9); //随机取数
arrNum[i] = getNum(arrNum, tmp, ref ra,i); //取出值赋到数组中
arr[i] = Convert.ToString(arrNum[i]);
}
string qwer = arr[0] + arr[1] + arr[2] + arr[3];
return qwer;
}
public int getNum(int[] arrNum, int tmp, ref Random ra,int i)
{
int n = 0;
while (n <= i - 1)
{
if (arrNum[n] == tmp) //利用循环判断是否有重复
{
tmp = ra.Next(0, 9); //重新随机获取。
getNum(arrNum, tmp, ref ra,i);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
}
n++;
}
return tmp;
}
private Random ra = new Random();
public string getRandomNum()
{
string[] arr = new string[4];
int[] arrNum = new int[4];
int tmp = 0;
for (int i = 0; i <= 3; i++)
{
tmp = ra.Next(0, 9); //随机取数
arrNum[i] = getNum(arrNum, tmp, ra,i); //取出值赋到数组中
arr[i] = Convert.ToString(arrNum[i]);
}
string qwer = arr[0] + arr[1] + arr[2] + arr[3];
return qwer;
}
public int getNum(int[] arrNum, int tmp, Random ra,int i)
{
int n = 0;
while (n <= i - 1)
{
if (arrNum[n] == tmp) //利用循环判断是否有重复
{
tmp = ra.Next(0, 9); //重新随机获取。
getNum(arrNum, tmp, ra,i);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
}
n++;
}
return tmp;
}