如何从随机数组中选择随机字符串

时间:2020-06-15 00:10:33

标签: c# arrays string random

我从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);

        }

非常感谢您的帮助

1 个答案:

答案 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)];