Инициализаторы коллекций являются синтаксическим сахаром для вызовов общедоступного метода Add()
, который ConcurrentDictionary
не предоставляет - вместо него есть метод AddOrUpdate()
.
Альтернативой, которую вы можете использовать, является промежуточный Dictionary<>
, переданный перегрузке конструктора, который принимает IEnumerable<KeyValuePair<K,V>>
:
public ConcurrentDictionary<string, Tuple<double, bool,double>> KeyWords =
new ConcurrentDictionary<string, Tuple<double, bool,double>>(
new Dictionary<string,Tuple<double,bool,double>>
{
{"Lake", Tuple.Create(0.5, false, 1.0)},
}
);
Примечание: я исправил ваш пример для использования Tuple.Create()
, так каккортежи не выводятся из инициализаторов.