для простого примера, я хотел бы иметь список строк. Каждый элемент в списке должен «истекать» через 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"]
в конечном итоге, список должен быть пустым.