永发信息网

c#编程的时候需要快速连续的生成多个随机数怎么解决?

答案:1  悬赏:50  手机版
解决时间 2021-04-01 04:33
c#编程的时候需要快速连续的生成多个随机数怎么解决?
最佳答案
首先你要阐述“连续的生成多个随机数”是什么概念,
是连续产生 “随机数”,还是 多个随机数是连续的,

产生随机数使用Random即可实现,
如int类型的随机数:
int a = new Random().Next(); //.Next方法提供3个重载可以指定最大最小范围,

如果是需要“多次”生成,那么使用循环来做Random即可。
如果是要“连续”,那么你首先要求一个随机数,然后对这个随机数进行不停的++。来获得他连续的数字。追问要是有这么简单我就不会在这问了,Random().Next()的方法默认的种子是系统时间,连续生成的话就会产生相同的随机数,虽然声明同一个Random系统会产生不同的随机数,但是在方法完结之后重新运行方法还是会生成相同的随机数这就让我头疼了,网上虽然有些产生随机数的种子方法但是试了几个都不行。
还有你理解的“多个随机数是连续的”这个只有第一个生成的随机数才叫随机数,后面的就不应该叫随机数了追答random的种子是什么都没关系啊,种子只是初始化的时候附带的。
你做循环的时候
如果是单线程,
var r = new Randow();
var result = new List();
for()
{
result.Add(r.Next());
}
只要实例一个randow就好了,如果你把random写到循环里面,计算机现在速度这么快,肯定是很多一样的。

如果是多线程也是同理,主线程实例一个random然后用委托回调。追问这里的确是随机的,但我在追问的时候已经说过了,这个方法执行完毕之后再次执行该方法呢?再次产生的随机数又和原来的随机数一样了!就算把random声明为全局变量也没用。不过刚才倒是从网上找打了一个随机数种子倒是挺好的 Guid.NewGuid().GetHashCode() 虽然感觉还是没有完全的随机,但是比时间做种子好多了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3M汽车膜和中凌哪个好?
江苏军昊可以纹身吗?
米琪童装店怎么去啊,有知道地址的么
比猫大比老鼠小的动物是什么,打一动物
37分背头适合什么脸型
万州八景的八景由来
手工包饺子 饺子馅的做法 怎样包荠菜饺子
sd卡异常是什么意思?怎么修复?
80后在职考研的有多少
我的打印机是惠普k209a,黑白、彩色墨盒只装
粽子的种类 请问图种这种粽子看包装觉得是那
六爻里入墓是什么意思
为了生儿子,引产5个女儿,这真的值得吗
英语空空,tian
怎么积分如图
推荐资讯
atsl 哪个配置比较适合甩尾飘逸
请问这是什么茶,青海朋友带的
中国女排取得五连冠军是在那几年
石家庄经济学院华信学院地址有知道的么?有点
海参花怎么吃
"良人"是形容男人还是女人?或是可通用?
(90º-xº)=5/13(180º-x
交了购车定金现在才知道是国4车,现在想换国5
没营业执照大家敢去吗,不给工资是不是劳动局
行人列队在道路上行走每横列不得超过多少人
AD1257怎么给领主分封地
电脑开机按f1还是2然后变成这样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?