7

重複の可能性:
C#
シャッフルで List<T> をランダム化 (ランダムに再配置) List<string>
ランダム プロット アルゴリズム

こんにちは、次のリストがあり、リストに出力したいのですmodelが、ランダムに出力します。私はいくつかの例を見てきましたが、それらは本当に混乱しているようです. これを行う簡単な方法が欲しいだけですか?

List<Car> garage ----randomise------> List<string> models


List<Car> garage = new List<Car>();

garage.Add(new Car("Citroen", "AX"));
garage.Add(new Car("Peugeot", "205"));
garage.Add(new Car("Volkswagen", "Golf"));
garage.Add(new Car("BMW", "320"));
garage.Add(new Car("Mercedes", "CLK"));
garage.Add(new Car("Audi", "A4"));
garage.Add(new Car("Ford", "Fiesta"));
garage.Add(new Car("Mini", "Cooper"));
4

2 に答える 2

12

あなたが望むのはこれだけだと思います。それは簡単な方法です。

Random rand = new Random();
var models = garage.OrderBy(c => rand.Next()).Select(c => c.Model).ToList();

//モデルはそれがあなたのプロパティの名前であると想定しています

注 : 皮肉なことに、Random() は実際にはあまりランダムではありませんが、迅速でシンプルなソリューションには問題ありません。これを行うには、より優れたアルゴリズムがあります。

http://en.wikipedia.org/wiki/Fisher-Yates_shuffle

于 2012-08-29T14:17:39.243 に答える
-1
于 2012-08-29T14:18:50.600 に答える