我知道如何选择两个数字之间的随机数。但是我不知道如何选择我告诉它的随机数。
这就是我想要做的。我有5个整数。
int Hamburger = 5;
int Sandwich = 7;
int ChickenSalad = 10;
int Pizza = 15;
int Sushi = 20;
5,7,10,15,20是每种食物的价格,我想这样做,以便从这些选择的数字中选择一个随机数。 5,7,10,15,20。
我是C#的新手,所以我对此并不太了解。我发现了这个
randomNoCorss = arr[r.Next(arr.Length)];
在另一篇文章中,但我不明白,我不知道如何把它放在我的代码中。
答案 0 :(得分:4)
您必须创建一个可能值的数组,然后随机生成该数组的索引:
int Hamburger = 5;
int Sandwich = 7;
int ChickenSalad = 10;
int Pizza = 15;
int Sushi = 20;
Random r = new Random();
var values = new[] { Hamburger, Sandwich, ChickenSalad, Pizza, Sushi };
int result = values[r.Next(values.Length)];
这样做是它需要所有给定的值并将它们放在一个数组中。然后它在0
和4
之间生成一个随机整数,并使用该整数从数组中获取一个值,使用生成的整数作为数组的索引。
答案 1 :(得分:1)
完整代码是:
Random r = new Random();
int[] priceArray = new int[] { 5, 7, 10, 15, 20 };
int randomIndex = r.Next(priceArray.Length);
int randomPrice = priceArray[randomIndex];
答案 2 :(得分:0)
您需要在数组中添加值,然后可以从该数组中选择一个随机数
int[] myNumbers = new int[] { 5, 7, 10, 15, 20 };
var random = new Random();
var numberResult = myNumbers[random.Next(5)];
答案 3 :(得分:-1)
您可以在LINQ中执行此操作:
int[] intArray = new int[] { 5, 7, 10, 15, 20 };
int result = intArray.OrderBy(n => Guid.NewGuid()).Select(x => x).Take(1)
.SingleOrDefault();
结果将是随机的,基于您在变量intArray中声明的整数数组。
或者你可以通过获取数组的随机索引来做到这一点:
int[] intArray = new int[] {5, 7, 10, 15, 20 };
Random rndom = new Random();
int index = rndom.Next(0, intArray.Length - 1); //Since int array always starts at 0.
int intResult = intArray[index];
如果您需要更多说明,请告诉我。