var random = new Random();
var startDateTime = new DateTime(2000, 1, 1, 7, 0, 0, 0);
var maxDuration = TimeSpan.FromHours(4);
var values = Enumerable.Range(0, 100)
.Select(x => {
var duration = random.Next(0, (int)maxDuration.TotalMinutes);
return startDateTime.AddMinutes(duration).ToString("HH:mm");
})
.ToList();
values = values.Distinct().ToList();
Console.WriteLine("{0} values found. Min: {1}, Max: {2}", values.Count, values.Min(), values.Max());
リングに帽子を投げます:)
編集:非常に多くの回答が効果的に表示されるのは少し恥ずかしいですが、非常に単純な質問です。とにかく、いろいろなスタイルが見られるのはうれしいです。質問を読んで、OPがこれを行うためにWin Formsアプリを作成するように求めているのを見て驚きました。タスクはとても簡単に思えたので、LinqPad でソリューションを書きたいと思いました!