[問題] 依據日期 產出隨機排序

作者: vi000246 (Vi)   2017-10-16 17:37:05
需求是在前端顯示資料時,想要讓資料隨機排序,
使用者按下下一頁按鈕時,不要顯示重覆資料。
後端的語法類似這樣
someTable.OrderBy(x => Guid.NewGuid()).Skip(pageCount).Take(pageSize)
但這樣當使用者切換分頁時,有可能顯示之前出現過的資料
所以我想了一套演算法,用每天的日期當種子,
開根號後取小數點後面的位數當作排序
產生出每日都會變動的排序
程式碼如圖
https://imgur.com/uX49AQv
程式碼如下
https://dotnetfiddle.net/sjNZAA
我覺得我這演算法有點不夠隨機
本來是要開個Sort欄位 再用排程每日更新排序的
想先研究能不能直接用程式解決這問題
不知道大家有什麼建議呢?
作者: vi000246 (Vi)   2017-10-17 09:51:00
問題解決了 改用Fisher–Yates shuffle算法

Links booklink

Contact Us: admin [ a t ] ucptt.com