我有一个项目字典,Dictionary<string, Dictionary<DateTime, NZMark>> subjectsDatesMarks
其中存储了带有成绩的日期列表。
我怎样才能把它变成以下形式:Dictionary<DateTime, Dictionary<string, NZMark>> datesSubjectsMarks
?
public enum NZMark
{
One = 1,
Two,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Ten,
Eleven,
Twelve,
WasAbsent,
NotCertified,
Exempted,
Studied
}
最小的可重现示例:
var subjectsDatesMarks = new Dictionary<string, Dictionary<DateTime, NZMark>>();
subjectsDatesMarks.Add("math", new Dictionary<DateTime, NZMark>());
subjectsDatesMarks["math"].Add(new DateTime(2021, 03, 20), (NZMark)8);
subjectsDatesMarks["math"].Add(new DateTime(2021, 03, 21), (NZMark)8);
subjectsDatesMarks["math"].Add(new DateTime(2021, 03, 22), (NZMark)10);
subjectsDatesMarks.Add("PE", new Dictionary<DateTime, NZMark>());
subjectsDatesMarks["PE"].Add(new DateTime(2021, 03, 20), (NZMark)10);
subjectsDatesMarks["PE"].Add(new DateTime(2021, 03, 21), (NZMark)11);
subjectsDatesMarks["PE"].Add(new DateTime(2021, 03, 22), (NZMark)10);
var datesSubjectsMarks = MagickTransform(subjectsDatesMarks); // та самая функция для преобразования, которая мне нужна
var mathMark2021_03_22 = datesSubjectsMarks[new DateTime(2021, 03, 22)]["math"]; // 10
好吧,例如像这样:
检查。
查询语法的另一个选项: