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