【发布时间】:2012-01-20 22:46:01
【问题描述】:
我有两个班级,一个教师班级和一个学生班级。在我的程序中,我创建了一个由 10 个教师对象组成的数组,每个教师对象中有一个由 10 个学生对象组成的数组。每个 Student 对象也有一个整数数组作为成员变量,当每个 Student 被实例化时,它自己的整数数组会填充来自随机数生成器的数字。我的程序是这样的:
- 创建了一个大小为 10 的教师类型数组
- 然后用 10 个实际教师对象填充数组
- 每个教师对象都包含一个大小为 10 的学生对象数组作为成员变量
- 每个 Teacher 对象中的 Student 数组都填充了实际的 Student 对象
- 每个学生对象都有一个整数数组,在学生对象构造函数中填充随机数。
这是我遇到的问题:似乎每次为每个教师创建 10 个学生对象时,即使我调用 .Next() 函数,学生对象构造函数中的随机数生成器也不会重置或更改直到为下一个教师对象创建下一组 10 个学生对象。我想要的是 10 个教师对象,每个对象都有自己的学生对象,这些对象有自己的整数数组,其中填充了随机生成的数字。
任何帮助将不胜感激!我在最后一个问题中遇到了构造函数的此类问题,这是一个问题是否是静态的,我不确定这次是不是这样。如果我对任何事情不够清楚,请向我提问!
更新** 所以在查看了 MSDN 之后,我在他们的示例代码“Thread.Sleep(2000)”中找到了并将其插入到我的学生构造函数中,只是为了看看它做了什么。尽管我的程序现在运行速度慢了很多,但似乎已经解决了这个问题,是否有一个最小睡眠值来等待 Random.Next() 使用时钟中的新种子,即使我确实解决了问题,是否有更好的方法来做到这一点?我的随机数生成器已经是 Student 的静态成员变量了。
【问题讨论】:
-
请分享您使用的代码
Random。 -
Random 对象在哪里?声明和使用它的代码是什么样的?
标签: c# random static constructor