DateTime.Now.Ticks和生成随机数

[复制链接]
查看11 | 回复2 | 2016-10-28 15:59:46 | 显示全部楼层 |阅读模式
为什么生成随机数时:Random ran = new Random((int)DateTime.Now.Ticks); 要用DateTime.Now.Ticks,DateTime.Now.Ticks的意义是什么??
获取表示此实例的日期和时间的刻度数。 ---是什么意思
可是我还是不明白为什么生成随机数要用到它呀~

回复

使用道具 举报

千问 | 2016-10-28 15:59:46 | 显示全部楼层
计算机的“随机数”并非真的“随机数”,而是伪随机数——也就是通过一系列算法,从一个起始数字开始按照一定规则算出来的。就好像函数F(x)一样,x就是随机数的种子。你可以做个测试:把你的"new Random(x)"里面的x设置成一个固定数字,例如1,多次运行程序打印随机数,你会发现每次运行打印出来的数字都是一样的。DateTime.Now.Ticks是指从1970年1月1日(具体哪年忘了哈,好像是1970)开始到目前所经过的毫秒数——刻度数。用时间毫秒做随机数的种子(x)可以尽量避免上面说的那种“随机数”变成了“非随机数”的情况。解答完毕。...
回复

使用道具 举报

千问 | 2016-10-28 15:59:46 | 显示全部楼层
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = DateTime.Now.ToString() + "\r\t" + DateTime.Now.Ticks.ToString();
} 把这句代...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行