[问题] 依据日期 产出随机排序

楼主: 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