常常有人讨论随机数,今天写了个方法生成随机数的字符串,自己测了一下,效率还不错,生成1000000位数的,只要1秒多。
//
生成指定位数的随机数字符串
string GetRandomNumString( int length)
{
StringBuilder sbd = new StringBuilder();
if (length <= 0 )
{
throw new ArgumentException( " 长度必须大于0 " , " length " );
}
byte [] buffer = new byte [length * 4 ];
System.Security.Cryptography.RandomNumberGenerator.Create().GetBytes(buffer);
for ( int i = 0 ; i < length; i ++ )
{
sbd.Append(Math.Abs(BitConverter.ToInt32(buffer,i * 4 )) % 10 );
}
return sbd.ToString();
}
string GetRandomNumString( int length)
{
StringBuilder sbd = new StringBuilder();
if (length <= 0 )
{
throw new ArgumentException( " 长度必须大于0 " , " length " );
}
byte [] buffer = new byte [length * 4 ];
System.Security.Cryptography.RandomNumberGenerator.Create().GetBytes(buffer);
for ( int i = 0 ; i < length; i ++ )
{
sbd.Append(Math.Abs(BitConverter.ToInt32(buffer,i * 4 )) % 10 );
}
return sbd.ToString();
}