我创建了一个构造函数,最初可以创建一些硬编码值。现在是我需要随机创建价值的时候了。是否可以在构造函数中执行此操作。例如,我有以下内容:
private Random _random;
public GuessingGame()
{
this.Guesses = new List<Guess>();
this.Target = new List<int>() { 1, 2, 3 };
this._random = new Random();
}
public List<int> Target { get; set; }
public List<Guess> Guesses { get; set; }
我尝试创建new Random()
,然后尝试分配这个,但它没有用。在我的构造函数中创建随机整数的最佳方法是什么?
答案 0 :(得分:1)
public GuessingGame()
{
this.Guesses = new List<Guess>();
this._random = new Random();
this.Target = new List<int>();
int randomCount = 3; // how many randoms
int rndMin = 1; // min value of random
int rndMax = 10; // max value of random
for (int i = 0; i < randomCount; i++)
this.Target.Add(this._random.Next(rndMin, rndMax));
}
答案 1 :(得分:1)
LINQ版本:
public GuessingGame() {
_random = new Random();
Target = Enumerable
.Repeat(0, how_many_items)
.Select(x => _random.Next(max_random_number_value))
.ToList();
// ..the rest..
}
答案 2 :(得分:0)
这行代码
for(int i=0;i<10;i++)
{
this.Target.Add(this._random.Next(0,10));
}
用0到9之间的10个随机数填充目标列表
private Random _random;
public GuessingGame()
{
this.Guesses = new List<Guess>();
this.Target = new List<int>() { 1, 2, 3 };
this._random = new Random(DateTime.Now.Millisecond);
for(int i=0;i<10;i++)
{
this.Target.Add(this._random.Next(0,10));
}
}
public List<int> Target { get; set; }
public List<Guess> Guesses { get; set; }