DateTime.Now.Ticks和生成随机数

来源:百度知道 编辑:UC知道 时间:2024/05/05 23:44:33
为什么生成随机数时:Random ran = new Random((int)DateTime.Now.Ticks); 要用DateTime.Now.Ticks,DateTime.Now.Ticks的意义是什么??
获取表示此实例的日期和时间的刻度数。 ---是什么意思
可是我还是不明白为什么生成随机数要用到它呀~

计算机的“随机数”并非真的“随机数”,而是伪随机数——也就是通过一系列算法,从一个起始数字开始按照一定规则算出来的。

就好像函数F(x)一样,x就是随机数的种子。

你可以做个测试:把你的"new Random(x)"里面的x设置成一个固定数字,例如1,多次运行程序打印随机数,你会发现每次运行打印出来的数字都是一样的。

DateTime.Now.Ticks是指从1970年1月1日(具体哪年忘了哈,好像是1970)开始到目前所经过的毫秒数——刻度数。

用时间毫秒做随机数的种子(x)可以尽量避免上面说的那种“随机数”变成了“非随机数”的情况。

解答完毕。

private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = DateTime.Now.ToString() + "\r\t" + DateTime.Now.Ticks.ToString();
}

把这句代码复制下来,然后一直按住会车不放.你就知道了.