次のように宣言された辞書があります
IDictionary<string, object> _objectIds = new Dictionary<string, object>();
私はそれでいくつかの問題を経験していました.ContainsKeyメソッドの結果としてインスタンスがfalseを返したことを発見し、ウォッチウィンドウからアイテムがそこにあると確信していました. だから私はヘルパーメソッドを作成しました
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 を返す状況に遭遇しました。誰でも私を助けることができますか?ありがとう。