如何在相同索引下随机混合List内容

时间:2017-03-24 18:14:29

标签: c# list shuffle

我想知道,在列表中随机混合List<string> list = new List<string>();内容的正确方法是什么,而不使用其他列表进行随机重写。

例如,如果我通过这种方式得到索引值:

list[0];
list[1];
list[2];
list[3];

和订单输出是:

line1
line2
line3
line4

在所需的混合之后,如何在相同的索引下获得它,但是在随机混合的值上:

list[0];
list[1];
list[2];
list[3];

在列表中获取随机顺序:

line2
line4
line1
line3

1 个答案:

答案 0 :(得分:1)

试试这个:

// Create an randomizer object
Random r = new Random();

// Create a list of strings
List<string> list = new List<string>() { "line1", "line2", "line3", "line4" };

// Sort list randomly
list = list.OrderBy(x=>r.Next()).ToList();