0
我在想,什么是随机将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
才可保证在排序依据拉姆达只是每个项目调用一次?如果不是,则同一项目上的两个不同的调用将返回不同的值。订单仍然是随机的,但可能会导致意外的行为。 (注意:目前的实现只为每个项目调用lambda一次并不意味着未来的实现将会这样做) –
这是传统上糟糕的shuffle实现。请不要使用它。请注意,这个问题明确要求“正确的混合方式”,而不是“混洗列表的方式”,这在这个答案中得到了证明。 –
它也没有进行洗牌,这是如果我没有把这个问题弄错的话。 – BitTickler