我从28个中选择了10个随机数组,现在我正尝试从10个中选择一个随机1个数组,但似乎无法弄清楚。这是我的代码:
Random rand = new Random();
int[] array = new int[10];
int count = 0;
for (int i = 0; i < array.Length; i++)
{
int final = rand.Next(28);
while (final == array[0] || final == array[1] || final == array[2] || final == array[3] || final == array[4] || final == array[5] || final == array[6] || final == array[7] || final == array[8] || final == array[9])
{
final = rand.Next(10);
}
array[i] = final;
count++;
Console.WriteLine($"#{count} player {array[i]}");
string finalists = names[final].firstname.ToString();
Console.WriteLine($"Finalist: {finalists}");
Thread.Sleep(2000);
}
非常感谢您的帮助
答案 0 :(得分:1)
这对您有用吗?
// make an array of 28 names
string[] names =
Enumerable
.Range(0, 28)
.Select(x => $"Person {x + 1}")
.ToArray();
Random rand = new Random();
// select 10 at random
string[] random10 =
names
.OrderBy(x => rand.Next())
.Take(10)
.ToArray();
//pick one at random from the 10 selected at random
string finalist = random10[rand.Next(random10.Length)];