我正在运行这个类和方法
public class DiceRoll
{
static Random _r =new Random();
public int Random6()
{
int n = _r.Next(1, 7);
return n;
}
}
我正试图在另一个类中的if语句中使用它,如下所示:
if (input == "d6")
{
int dice = diceRoll.Random6();
Console.WriteLine(dice);
}
我的问题是这个。如果我使用这样的乘数调用diceRoll.Random6();
diceRoll.Random6() * 2;
它是创建两个随机数并添加它们还是仅仅取一个并将其乘以2?
我认为这可能是后者,但我只是想在进入复杂的编程之前进行检查。
如果是后者,有一种方法可以让我的程序调用{{1}}的多个实例而不会Random6
这样可以做两次但是如果我想这样做四到六次它会变得不优雅。
提前致谢。
答案 0 :(得分:3)
它只生成1个随机数,然后将其乘以2
你可以在一个循环中完成它,或者如果你想要花哨
var sum = Enumerable.Range(1, 6).Sum(x => diceRoll.Random6())
你可能想要分解成......
var rolls = Enumerable.Range(1, 6).Select(x => diceRoll.Random6()).ToList();
var sumOfRolls = rolls.Sum();
通过这种方式,您可以得到每个卷的总和和列表。
答案 1 :(得分:3)
从循环中调用方法
int result = 0;
for(int i = 0; i < 10; i++)
{
result += Random6();
}