我正在查询对象列表。
其中一些对象具有可能具有空值的属性 startTime。
对于这些情况,我想生成一个随机数。对于其他情况,我想获得当前时间和相应的项目开始时间之间的差异
var data = List.Select(e => new myCustomItem
{
Item = e,
TimeDistance = (e.StartTime.HasValue ? (e.StartTime.Value - DateTime.Now).TotalMinutes : RandomNumber(-5000, 5000))
})
.OrderBy(e => e.TimeDistance)
.ToList();
这是应该在每个具有空值的结果时调用的函数。
private int RandomNumber(int min, int max)
{
Random random = new Random();
return random.Next(min, max);
}
问题是所有结果都接收到相同的值。
对于其他分配了 startDate(非空)的人,它正在执行计算。