gpt4 book ai didi

c# - 如何根据日期选择范围内的随机数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:48 24 4
gpt4 key购买 nike

我有一个包含数百个 ID 值范围为 1..999 的扇区类型的列表。用户希望每天在网站上看到一个不同的随机扇区。

解决此问题的一种方法是存储当天随机选择的扇区 ID,并使用它,然后在第二天用新的扇区 ID 更新该字段。但这有点困惑,因为这意味着我需要在数据库中的某个地方存储任意值......(或者应用程序状态或其他东西)

我也在想我可以获取 1..999 的列表并使用一些随机算法根据日期选择一个随机数,所以只要日期与上次随机数相同选择后,会出现相同的数字。

但我不确定如何实现,所以我正在寻找建议?

此外,考虑到范围的大小 (999) 和一年中可用的天数 (365),这是否意味着算法总是会错过某些扇区,因为它们的 ID 没有映射到随机编号选择过程选择扇区 ID?有什么办法解决这个问题吗?

最佳答案

您可以使用日期作为 Random 类的种子:

int day = (DateTime.Today - new DateTime(2000,1,1)).TotalDays;
Random rnd = new Random(day);
int id = rnd.Next(1, 1000);

请注意,日期是从固定开始日期而不是 DateTime.DayOfYear 开始计算的,因此它不会每年重新开始,只会使用 365 个值。

关于c# - 如何根据日期选择范围内的随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com