What about this:
Dictionary<string,double?> results = new Dictionary<string,double?>(){
{"A", 12.0},
{"B", 10.0},
{"C", null},
{"D", 15.0},
{"E", 5.0}
};
var max = from x in results where x.Value == results.Max(v => v.Value) select x.Key;
max.Dump();