У меня есть класс Test.Обновление ключевого объекта в методе AddOrUpdate
class Test
{
public int Id { get; set; }
public int Val { get; set; }
}
Я хотел бы установить ConcurrentDictionary с int как ключом и тестом как значение.
bool External = true;
ConcurrentDictionary<int, Test> data = new ConcurrentDictionary<int, Test>();
Я хотел бы, чтобы написать обновления часть AddorUpdate для этого словаря, так что, если внешняя переменная (скажем, внешняя) истинна тогда Val для этого экземпляра теста должны увеличиваться на 100, но если BOOL ложно, то он должен уменьшаться на 100. Может ли кто-нибудь помочь мне, как я могу это сделать. Я просто не уверен, как получить доступ к экземпляру Test в словаре с помощью лямбда. Также я могу вызвать вызов метода, несмотря на лямбда?
Могу ли я иметь эту лямбду во внешнюю функцию? Также мне не нужно иметь какие-либо блокировки вокруг этого кода, правильно? –
Вы можете сделать лямбду во внешней функции, я полагаю. Вместо этого я рекомендовал бы мой отредактированный подход. – Haney
Итак, нет способа обращения с закрытием с ConcurrentDictionary? Я знаю с задачами, которые вы можете передать в параметрах, которые делают локальную копию. –