.NET 4.x Генерация уникальных дат - C#
Формулировка задачи:
Приветствую!
Прошу помощи в след. коде:
Сниппет генерирует произвольные даты с последующей сортировкой на убывание.
Периодически, если смотреть потом результат, в list попадают одинаковые даты (вплоть до секунд).
Подскажите, плиз, как подкорректировать код в цикле, чтобы всегда даты были уникальны?
Листинг программы
- using System;
- using System.Collections.Generic;
- public class Program
- {
- public static void Main()
- {
- //Объявляем list для хранения дат
- var listData = new List<DateTime>();
- //Дата сегодня
- DateTime dateNow = DateTime.Now;
- Random rndRowIndex = new Random();
- int intCurrentIndex = rndRowIndex.Next(0, 7);
- //Формируем list в цикле со генерированными датами
- for(int i = 0; i < 10; i++)
- {
- int mint = intCurrentIndex * 2;
- int sec = intCurrentIndex * 3 + 1;
- listData.Add(dateNow.AddHours(-intCurrentIndex).AddMinutes(-mint).AddSeconds(-sec));
- intCurrentIndex = rndRowIndex.Next(intCurrentIndex, intCurrentIndex * 2 + 1);
- }
- //Сортировка дат на возрастание
- listData.Sort((a, b) => a.CompareTo(b));
- //Проверка. Вывод в log
- for(int i = 0; i < listData.Count; i++)
- {
- Console.WriteLine("Время {0}", listData[i]);
- }
- }
- }
Решение задачи: «.NET 4.x Генерация уникальных дат»
textual
Листинг программы
- intCurrentIndex = rndRowIndex.Next(intCurrentIndex, intCurrentIndex * 2 + 1);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д