C# 如何在构造函数中分配随机枚举值?
因为我有下面的代码C# 如何在构造函数中分配随机枚举值?,c#,oop,C#,Oop,因为我有下面的代码 public class student { public enum Level { novice, adept, master } private Level _skillevel; public student() { _skillevel = //to assign a random value from novice, adept and mast
public class student
{
public enum Level
{
novice,
adept,
master
}
private Level _skillevel;
public student()
{
_skillevel =
//to assign a random value from novice, adept and master
}
我所期望的是,每次创建一个学生对象时,它都会被分配一个随机的技能级别。我该怎么解释呢?感谢您的帮助。获取枚举的随机值
public student()
{
Array values = Enum.GetValues(typeof(Level));
Random random = new Random();
Level _skillevel = (Level)values.GetValue(random.Next(values.Length));
}
如果您计划在循环中创建student对象,则建议将Random类的对象保持为静态 获取枚举的随机值
public student()
{
Array values = Enum.GetValues(typeof(Level));
Random random = new Random();
Level _skillevel = (Level)values.GetValue(random.Next(values.Length));
}
如果您计划在循环中创建student对象,则建议将Random类的对象保持为静态 非常类似于:抱歉重复,我稍后会删除它。非常类似于:抱歉重复,我稍后会删除它。@YunxiangLi如果这是正确的,请不要忘记接受这一正确答案:)我建议您将
随机
对象作为参数传入,不要在方法内部创建它。否则,如果您每隔几毫秒多次调用它,它就不会是随机的@MatthewWatson,正确的方法是在构造函数中传递随机变量,但是我也建议在一些静态变量中保持随机变量为静态变量class@YunxiangLi如果这是正确的,那么不要忘记接受这一正确答案:)我建议您将Random
对象作为参数传入,而不要在方法内部创建它。否则,如果您每隔几毫秒多次调用它,它就不会是随机的@MatthewWatson,对,正确的方法是在构造函数中传递随机变量,但我建议在某个静态类中将随机变量保持为静态