我有一本字典,里面有一个评估的答案,如下所示:
{
{"question1", "7"},
{"question1_comment", "pretty difficult"},
{"question2", "9"},
{"question2_comment", ""},
{"question3", "5"},
{"question3_comment", "Never on time"},
}
但我需要将score项和comment项组合成一个对象,如下所示
{
{"question1", "7", "pretty difficult"},
{"question2", "9", ""},
{"question3", "5", "Never on time"},
}
我想我需要使用聚合方法来实现这个目标,但是我不知道从哪里开始。
最佳答案
你可以这样做:
var res = data
.Keys
.Where(s => !s.EndsWith("_comment"))
.Select(s => new[] {s, data[s], data[s+"_comment"]})
.ToList();
ides首先过滤掉所有不以
"_comment"
结尾的键,然后使用这些键在结果数组中查找这两部分内容。Demo.