Имеет ли С# эквивалент Java LinkedHashMap.removeEldestEntry

У Java есть очень полезная функция в LinkedHashMap. Функция-член removeEldestEntry(), где вы можете вернуть true, когда хэш превышает N записей. Отличный способ легко объявить кеш LRU.

Есть ли что-то подобное в .NET?

Изменить: Вопрос здесь не отвечает на этот вопрос, поскольку это решение не обеспечивает функциональность в удалитьстаршую запись().


person David Thielen    schedule 14.09.2014    source источник
comment
Возможный дубликат C#-эквивалента LinkedHashMap   -  person cemal    schedule 18.08.2016
comment
@cemal - это решение не имеет функции removeEldestEntry().   -  person David Thielen    schedule 18.08.2016
comment
Как насчет создания пар «ключ, значение» и добавления их в очередь, как это предлагается в stackoverflow.com/a/13998338/4606005   -  person cemal    schedule 18.08.2016
comment
@cemal да, я могу поместить их как в очередь, так и в хэш-карту. Я надеялся избежать двух коллекций. Кроме того, с этим решением каждый раз, когда происходит доступ к элементу в хэш-карте, его необходимо перемещать в очередь. Это дорого.   -  person David Thielen    schedule 18.08.2016