Ради простого примера я хотел бы иметь список строк. Срок действия каждого элемента в списке должен истечь через 5 минут после добавления его в список. Хотя не может быть простого, встроенного способа сделать это, я хотел бы в конечном итоге получить структуру данных, API которой кажется, что она «просто работает».
Вы можете использовать его следующим образом:
var now = DateTime.now();
var list = new ListWithTTL<string>();
list.add("Bob", now);
list.add("Joe", now.AddMinutes(1));
list.add("Tom", now.AddMinutes(2));
list.add("Tim", now.AddMinutes(2));
Проверка элементов немедленно даст
["Bob", "Joe", "Tom", "Tim"]
Через несколько минут должно получиться
["Tom", "Tim"]
В конце концов список должен быть пустым.