可能重复:
Randomize a List<T> in C#
shuffle (rearrange randomly) a List<string>
Random plot algorithm
您好我有以下列表,我想将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"));
答案 0 :(得分:11)
我认为你想要的就是这个,这是一个简单的方法;
Random rand = new Random();
var models = garage.OrderBy(c => rand.Next()).Select(c => c.Model).ToList();
//模型假设这是你的财产的名称
注意:具有讽刺意味的是,Random()实际上并不是非常随机,但对于快速简单的解决方案来说很好。有更好的算法可以做到这一点,这里有一个要看的;
答案 1 :(得分:-1)
我已经看到了这个LINQ之前的一些混乱代码,但LINQ方式看起来很干净。
也许试一试?
http://www.ookii.org/post/randomizing_a_list_with_linq.aspx
Random rnd = new Random();
var randomizedList = from item in list
orderby rnd.Next()
select item;