110,539
社区成员
发帖
与我相关
我的任务
分享
private string CreateRandomNum(int NumCount)
{
string allChar = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//TODO
char[] allCharArray = allChar.ToCharArray();
string randomNum = "";
int temp = -1;
Random rand = new Random();
for (int i = 0; i < NumCount; i++)
{
if (temp < -1)
{
int k = (int)(DateTime.Now.Ticks);
rand = new Random(i * temp * (k));
}
int t = rand.Next(35);
if (temp == t)
{
return CreateRandomNum(NumCount);
}
temp = t;
randomNum += allCharArray[t];
}
return randomNum;
}
static void Main(string[] args)
{
for(int i=0; i<100; i++) //测试 100 遍
Console.WriteLine(CreateRandomNum(10));
}
static Random rand = new Random();
private static string CreateRandomNum(int NumCount)
{
string allChar = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//TODO
char[] allCharArray = allChar.ToCharArray();
string randomNum = "";
int temp = -1;
Random rand = new Random(); //如果放在里面
for (int i = 0; i < NumCount; i++)
{
if (temp < -1)
{
int k = (int)(DateTime.Now.Ticks);
rand = new Random(i * temp * (k));
}
int t = rand.Next(35);
if (temp == t)
{
return CreateRandomNum(NumCount);
}
temp = t;
randomNum += allCharArray[t];
}
return randomNum;
}
可以看到都是重复的!