У меня есть словарь, объявленный следующим образом
IDictionary<string, object> _objectIds = new Dictionary<string, object>();
У меня возникли некоторые проблемы с ним, и он обнаружил, что экземпляр вернул false в результате метода ContainsKey, и из окна просмотра я был уверен, что элемент был там.
Поэтому я создал вспомогательный метод
private bool IdsContainsKey(string key)
{
lock (syncObject)
{
lock (_objectIds)
{
if (_objectIds.ContainsKey(key))
return true; // A
if (_objectIds.ContainsKey(key))
return true; // B
return _objectIds.ContainsKey(key); // C
}
}
}
Во время моего сеанса отладки я столкнулся с ситуацией, когда метод вышел из позиции B, а иногда я возвращал C, возвращая true.
Кто-нибудь может мне помочь?
Спасибо.