[英]C# multiplying a method containing an instance of Random.next
我正在運行此類和方法
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?
我認為可能是后者,但是我只是想在進入復雜的編程之前進行檢查。
如果是后者,則有一種方法可以使我的程序無需使用diceRoll.Random6() + diceRoll.Random6();
就可以調用Random6
多個實例diceRoll.Random6() + diceRoll.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();
這樣,您就可以得到總和以及每個單獨卷的列表。
從循環內調用方法
int result = 0;
for(int i = 0; i < 10; i++)
{
result += Random6();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.