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

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

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

Приветствую! Прошу помощи в след. коде:
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]);
        }
    }
}
Сниппет генерирует произвольные даты с последующей сортировкой на убывание. Периодически, если смотреть потом результат, в list попадают одинаковые даты (вплоть до секунд). Подскажите, плиз, как подкорректировать код в цикле, чтобы всегда даты были уникальны?

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

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

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


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

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

12   голосов , оценка 3.917 из 5
Похожие ответы