如何将其转换为字典的字典

spr*_*t12 2 c# linq lambda dictionary group-by

如何将其更改为: Dictionary<string, Dictionary<DateTime, double>>

var data = segGroups.Join(pPeriods, s => s.segid, p => p.entid, (s, p) => new
            {
                Name = s.SegCode, // string
                Time = p.StartLocal, // datetime
                TR = p.Volume // double
            })
            .GroupBy(s => s.Name)
            .ToList();
Run Code Online (Sandbox Code Playgroud)

字符串将是Name,而内部字典将是DateTimeTR对.

Ser*_*rvy 5

var dictionary = data.ToDictionary(group => group.Key, 
    group => group.ToDictionary(item => item.Time, item => item.TR));
Run Code Online (Sandbox Code Playgroud)

请注意,这里没有施法.铸造是把东西当作别的东西,不改变它的真实含义.这是通过创建一个完全基于其他值的全新对象列表转换为字典.这是一个重要的区别.