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中編寫解決方案!
挑選一個隨機數** h ** [7,11]。如果** h ** <11,則選擇另一個隨機數** m ** [0,59],否則** m **爲0 – kaveman