我正在尝试根据其中一个字典键的值对嵌套字典进行分组。
Dictionary<Dictionary<string, object>, string> data= new Dictionary<Dictionary<string, object>, string>();
字典看起来像:
{
{[value, 166], [entryDate, 1/1/2016], [id, 1]}, "vitalweight"},
{[value, 176], [entryDate, 6/2/2016], [id, 2]}, "vitalweight"},
{[value, 126], [entryDate, 1/1/2016], [id, 1]}, "vitalpulse"},
{[value, 100], [entryDate, 1/1/2016], [id, 1]}, "vitaltemp"},
{[value, 98], [entryDate, 6/2/2016], [id, 2]}, "vitaltemp"}
}
我正在尝试按entryDate
对这些数据进行分组,这恰好是嵌套字典中的关键字之一,因此我可以将分组列表设置为:
{
{[value, 166], [entryDate, 1/1/2016], [id, 1]}, "vitalweight"},
{[value, 126], [entryDate, 1/1/2016], [id, 1]}, "vitalpulse"},
{[value, 100], [entryDate, 1/1/2016], [id, 1]}, "vitaltemp"}
},
{
{[value, 176], [entryDate, 6/2/2016], [id, 2]}, "vitalweight"},
{[value, 98], [entryDate, 6/2/2016], [id, 2]}, "vitaltemp"}
}
我尝试了不同的方式,没有一个我能够完成,我没有任何表现。但是试图使用linq查询对其进行分组。如果有人可以提供帮助,我将不胜感激。
答案 0 :(得分:0)
data = new Dictionary<Dictionary<string, object>, string>()
{
{new Dictionary<string, object> {{"value", 166},{"entryDate", "1/1/2016"},{"id", "1"},},"vitalweight"},
{new Dictionary<string, object> {{"value", 176},{"entryDate", "6/2/2016"},{"id", "2"},},"vitalweight"},
{new Dictionary<string, object> {{"value", 126},{"entryDate", "1/1/2016"},{"id", "1"},},"vitalpulse"},
{new Dictionary<string, object> {{"value", 100},{"entryDate", "1/1/2016"},{"id", "1"},},"vitaltemp"},
{new Dictionary<string, object> {{"value", 98},{"entryDate", "6/2/2016"},{"id", "2"},},"vitaltemp"},
};
data.GroupBy(d=>d.Key["entryDate"]);
这假设您的所有关键词典都有此密钥。
我有输出: