.NET 4.x Генерация уникальных дат - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую! Прошу помощи в след. коде:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. public class Program
  4. {
  5. public static void Main()
  6. {
  7. //Объявляем list для хранения дат
  8. var listData = new List<DateTime>();
  9. //Дата сегодня
  10. DateTime dateNow = DateTime.Now;
  11. Random rndRowIndex = new Random();
  12. int intCurrentIndex = rndRowIndex.Next(0, 7);
  13. //Формируем list в цикле со генерированными датами
  14. for(int i = 0; i < 10; i++)
  15. {
  16. int mint = intCurrentIndex * 2;
  17. int sec = intCurrentIndex * 3 + 1;
  18. listData.Add(dateNow.AddHours(-intCurrentIndex).AddMinutes(-mint).AddSeconds(-sec));
  19. intCurrentIndex = rndRowIndex.Next(intCurrentIndex, intCurrentIndex * 2 + 1);
  20. }
  21. //Сортировка дат на возрастание
  22. listData.Sort((a, b) => a.CompareTo(b));
  23. //Проверка. Вывод в log
  24. for(int i = 0; i < listData.Count; i++)
  25. {
  26. Console.WriteLine("Время {0}", listData[i]);
  27. }
  28. }
  29. }
Сниппет генерирует произвольные даты с последующей сортировкой на убывание. Периодически, если смотреть потом результат, в list попадают одинаковые даты (вплоть до секунд). Подскажите, плиз, как подкорректировать код в цикле, чтобы всегда даты были уникальны?

Решение задачи: «.NET 4.x Генерация уникальных дат»

textual
Листинг программы
  1. intCurrentIndex = rndRowIndex.Next(intCurrentIndex, intCurrentIndex * 2 + 1);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы