using System.Collections.Generic;
public static void Main()
Dictionary<double, Dictionary<double,double>> dict = new Dictionary<double, Dictionary<double,double>>{
{1.0, new Dictionary<double, double>{{1.0, 1.1}, {1.1, 1.3}, {1.2, 1.5}}},
{2.0, new Dictionary<double, double>{{1.0, 1.2}, {1.1, 1.4}, {1.2, 1.6}}},
var result1 = dict.SelectMany(item => item.Value.Select(inner => new { OuterKey = item.Key, InnerKey = inner.Key, Value =inner.Value }));
var result2 = result1.ToLookup(item => item.InnerKey, item=> item.Value);
var result3 = result2.Select(item => item.Key + ", "+ string.Join(", ", item));
foreach (var item in result3)