Get value from a dictionary contained in a dictionary
The 'problem' with this approach is that you perform a lookup twice for each key.


ContainsKey
indexer lookup [..]


code


if (response.ContainsKey("GB") &amp;&amp; response["GB"].ContainsKey(new DateTime(2001, 04, 01)))
{
    GB2001 = response["GB"][new DateTime(2001, 04, 01)];
}



Use TryGetValue to combine lookup and indexer.

string GB2001;
if (response.TryGetValue("GB", out var country))
{
    country?.TryGetValue(new DateTime(2001, 04, 01), out GB2001);
}