。net 获取 1----100000 随机数分散不开 怎么办?
static Random rs;
protected void Page_Load(object sender, EventArgs e)
{
if (rs == null)
{
rs = new Random();
}
int aaa = (int)(rs.NextDouble() * 100000);
}
------解决方案--------------------------------------------------------
try
- C# code
private static int randomCount = 0; private static string CreateRandomText() { randomCount++; Guid guid = Guid.NewGuid( ); int key1 = guid.GetHashCode( ); int key2 = unchecked( (int)DateTime.Now.Ticks ); int seed = unchecked( key1 * key2 * randomCount ); Random rand = new Random( seed ); int n = rand.Next( 100000, 999999 ); string sn = n.ToString( ); for ( int j = 0 ; j < 6 ; j++ ) { char ch = Convert.ToChar( rand.Next( 65, 90 ) ); if ( ch == 'E' || ch == 'O' || ch == 'S' || ch == 'B' || ch == 'I' || ch == 'L' || ch == 'D' || ch == 'C' || ch == 'G' ) { break; } sn = sn.Replace( rand.Next( 1, 9 ).ToString( ), ch.ToString( ) ); } sn = sn.Replace( "0", rand.Next( 2, 9 ).ToString( ) ); sn = sn.Replace( "1", rand.Next( 2, 9 ).ToString( ) ); sn = sn.Replace( "5", rand.Next( 6, 9 ).ToString( ) ); return sn; }
------解决方案--------------------------------------------------------
public int[] GetRandomArray(int Number,int minNum,int maxNum)
{
int j;
int[] b=new int[Number];
Random r=new Random();
for(j=0;j<Number;j++)
{
int i=r.Next(minNum,maxNum+1);
int num=0;
for(int k=0;k<j;k++)
{
if(b[k]==i)
{
num=num+1;
}
}
if(num==0 )
{
b[j]=i;
}
else
{
j=j-1;
}
}
return b;
}
------解决方案--------------------------------------------------------
Random random = new Random(DateTime.Now.Millisecond);
或者
protected void Page_Load(object sender, EventArgs e)
{
Random rs = new Random();
int aaa = rs.Next(1,100001);
}
------解决方案--------------------------------------------------------
int codelength = 6;
string NumStr = null;
int RadNum = r.Next(999999);
if (RadNum.ToString().Length != 6)
{
for (int j = 1; j <= 6 - RadNum.ToString().Length; j++)
{
NumStr += "0";
}
NumStr += RadNum.ToString();
}
else
{
NumStr = RadNum.ToString();
}
string RandomCode = NumStr;
这个应该可以