例子:
注解:
创建一个期望每次保存36个字符的StringBuilder.注:36个字符不代表最大的存储空间,代表每次超出36时,变量会再次增加一个36字符的空间;
新建一个随机数rd,然后在for循环中,返回一个大于或等于零而小于10的整数,将之拼接在 newRandom中;
最后返回一个字符串类型的数据;
system.string 和 System.Text.StringBuilder的不同
C# 中Random函数
计算机并不能产生完全随机的数字,它生成的数字被称为伪随机数,它是以相同的概率从一组有限的数字中选取的,所选的数字并不具有完全的随机性,但就实用而言,其随机程度已经足够了。
例子:100至999的随机数 ,不过这样会有重复.
Random ran=new Random();
int RandKey=ran.Next(100,999);
给Random一个系统时间做为参数,以此产生随机数,就不会重复:
第一种方法不指定随机种子,系统自动选取当前时前作随机种子:
Random ra=new Random();
第二种方法是指定一个int型的参数作为随机种子:
int iSeed=6;
Random ra=new Random(iSeed);
用到Random.Next()方法产生随机数。
ra.Next();
它返回一个大于或等于零而小于2,147,483,647的数,这并不满足我们的需要
重载函数和其它方法:
public virtual int Next(int);
用法:ra.next(20) //返回一个小于所指定最大值(此处为20)的正随机数。
public virtual int Next(int minValue, int maxValue);
用法:ra.next(1,20) //返回一个指定范围内(此处为1-20之间)的随机数,我们在下面的实例中会用到此函数。
————————————————————————————————————————————————————
补充:
static void Main(string[] args)
{
Test();
TestTwo();
Console.ReadKey();
}
static Random r = new Random();
static void Test()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine(r.Next());
}
}
static void TestTwo()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine(new Random().Next());
}
}
说明: 第一种会产生随机数,第二种会一样。
因为第二种,在创建Random时,随机数创建用到的时间片段太短,不能产生不同的实例;
C#Random()函数详解
c#random 为什么得到的随机数是一样的