オブジェクトのリストをクエリしています。
これらのオブジェクトの一部には、null値を持つ可能性のあるプロパティ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();
これは、null値を持つすべての結果で呼び出される必要がある関数です。
private int RandomNumber(int min, int max)
{
Random random = new Random();
return random.Next(min, max);
}
問題は、すべての結果が同じ値を受け取っていることです。
startDateが割り当てられている(nullではない)他の場合は、計算を実行しています。