初学C#我编了一段代码,想实现生成随机行随机列的数组,里面的元素也要是随机的
但是运行出来的结果老是生成相同行列的数组 比如3行3列 4行4列 而且里面的元素也不够随机感觉挺有规律的 是怎么回事呀, 帮我看看
感觉是这个随机函数的问题,现在我把前面几句代码改成
Random x = new Random();
int num1 = x.Next(10);
int num2 = x.Next(10);
int[,] aa = new int[num1,num2];
就行了 为什么,还有我把后面一个生成随机元素的Random x = new Random();放在循环外就解决第二个问题了 又是为什么呀 是不是每次new之后它出来的那个数都是固定的呀然后根据时间变化
C#生产随机数组
答案:2 悬赏:10
解决时间 2021-02-28 10:38
- 提问者网友:心裂忍耐
- 2021-02-27 20:24
最佳答案
- 二级知识专家网友:湫止没有不同
- 2021-02-27 21:53
Random实例只要new一个用。
因为Random内部实现是所有实例共享一个生成器,在同一时间不管哪个实例生成的数都是一样的。
因为Random内部实现是所有实例共享一个生成器,在同一时间不管哪个实例生成的数都是一样的。
全部回答
- 1楼网友:哭不代表软弱
- 2021-02-27 23:18
你的int数组明显只定义了2个长度。(0,1)
而你的循环确实从0到2,3个长度。(0,1,2)
当然在循环第3次时候ovtxeg[2]会提示索引超出。
他们说的跟我一样,都是对的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯