如果我有一个并发字典,并且我尝试 TryGetValue,并且我测试它是否失败,我会做一些事情,但如果它没有失败,并且从 TryGetValue 函数检索到的值等于我尝试 TryGetValue 之前的值,我做点别的。
我的问题是,(假设我的 ConcurrentDicationary 中的任何内容都不会设置为默认值(DateTime)),我的第二个 if 语句会真正执行吗?还是鉴于目前的情况是不可能的?
var m_unitsWaitingForReadResponse = new ConcurrentDictionary<string, DateTime>();
DateTime outVal = default(DateTime);
if (!m_unitsWaitingForReadResponse.TryGetValue("teststring", out outVal))
{
//Do Stuff
}
if (outVal == default(DateTime))
{
//Do Stuff 2
}