This suggests that they really have the same keys:
var merged = dict1.ToDictionary(pair => pair.Key,
pair => new[] { pair.Value, dict2[pair.Key] });
Or create Dictionary<string, Tuple<double, double>>
var merged = dict1.ToDictionary(pair => pair.Key,
pair => Tuple.Create(pair.Value, dict2[pair.Key]));
, , :
var merged = dict1.ToDictionary(pair => pair.Key,
pair => new { First = pair.Value,
Second = dict2[pair.Key]) });
, - , , .