C# 将包含 Random.next 实例的方法相乘
本文关键字:方法 实例 next 包含 Random | 更新日期: 2023-09-27 18:19:03
我正在运行这个类和方法
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;
它是创建两个随机数并将它们相加,还是只是取一个并将其乘以二?
我认为可能是后者,但我只是想在进入复杂的编程之前检查一下。
如果是后者,有没有办法让我的程序调用多个Random6
实例而不会diceRoll.Random6() + diceRoll.Random6();
这样做两次是可以的,但如果我想做四六次,它会变得不优雅。
提前谢谢。
从循环中调用该方法
int result = 0;
for(int i = 0; i < 10; i++)
{
result += Random6();
}
它只生成 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();
这样你就有了每个单独卷的总和和列表。