Зачем вам нужно преобразовать его в словарь?ConcurrentDictionary<K, V>
реализует интерфейс IDictionary<K, V>
, этого недостаточно?
Если вам действительно нужен Dictionary<K, V>
, вы можете скопировать , используя LINQ:
var myDictionary = myConcurrentDictionary.ToDictionary(entry => entry.Key,
entry => entry.Value);
Обратите внимание, что это делает копию .Вы не можете просто назначить ConcurrentDictionary словарю, поскольку ConcurrentDictionary не является подтипом словаря.В этом весь смысл интерфейсов, таких как IDictionary: вы можете абстрагировать желаемый интерфейс («своего рода словарь») от конкретной реализации (одновременный / не одновременный хэш-файл).