Why default value of a dictionary class is not same as default value returned by FirstOrDefault using LINQ?
Dictionary<Mode, string> myDict = new Dictionary<Mode, string>() { { Mode.First, "ValueFirst" }, { Mode.Second, "ValueSecond" }, { Mode.Third, "ValueThird" }, { Mode.Forth, "ValueForth" } };
var r1 = myDict.Where(d => d.Value == "Do not exist").FirstOrDefault();
var r2 = default(Dictionary<Mode, string>);
Here Mode is an enum. As a result, r1 is a key-value pair with default values, but r2 is null. Why?