随机化一系列餐馆

use*_*357 2 c# arrays random

对于我的计算机科学入门课程,我必须创建一个应用程序来选择具有各种功能的餐馆,我无法弄清楚如何随机化数组.以下是我的代码.

string[] myRestaurants = new string[9];

myRestaurants[0] = "Wendy's";
myRestaurants[1] = "Arby's";
myRestaurants[2] = "Olive Garden";
myRestaurants[3] = "The Pie";
myRestaurants[4] = "The Cheesecake Factory";
myRestaurants[5] = "Beto's";
myRestaurants[6] = "Dillinger's Saloon";
myRestaurants[7] = "Dayz Alpher";
myRestaurants[8] = "Firehouse subs";

var nextArray = myRestaurants.ToList();
Random rng = new Random();  
int n = nextArray.Count;
while (n > 1)
{
    n--;
    int k = rng.Next(n + 1);
    T value = nextArray[k];
    nextArray[k] = nextArray[n];
    nextArray[n] = value;
    //bang
}
Run Code Online (Sandbox Code Playgroud)

Sim*_*ead 5

您可以使用LINQ和OrderBy方法随机化它..与您的Random类相结合:

myRestaurants = myRestaurants
                    .OrderBy(x => myRandom.Next(myRestaurants.Length))
                    .ToArray();
Run Code Online (Sandbox Code Playgroud)