Не существует единственного встроенного типа данных C #, который бы делал все эти вещи с максимальной эффективностью, в основном, так как вы указали две вещи, по которым вам нужно будет искать.
При этом Dictionary<string, DateTime>
будет простейшим решением , которое предоставит вам все необходимые функции, в основном из коробки.Однако эта коллекция создаст сложность O (n) для поиска DateTime и время удаления хуже, чем O (1).Это, вероятно, не имеет большого значения, но вы не описали свои требования к производительности, ожидаемые размеры вашего набора данных или какие типы доступа происходят чаще всего.производительность поиска и удаление FIFO, вы также можете сохранить второй индекс, такой как SortedList.Более интенсивное использование памяти и несколько меньшее общее время вставки, но DateTime и запросы на удаление будут выполняться быстрее.Для «старше чем DateTime» вы можете использовать двоичный поиск для SortedList.Keys .