假设我有一个包含以下元素的数据库:
{
"elmName" : "elm1",
"arrayOfStrings" : [ "str1", "str4", "str2"]
},
{
"elmName" : "elm2",
"arrayOfStrings" : ["str4", "str3"]
},
{
"elmName" : "elm3",
"arrayOfStrings" : [ "str1"]
},
{
"elmName" : "elm4",
"arrayOfStrings" : []
}
' arrayOfStrings'中的字符串在搜索时是随机的和未知的。 如何在' arrayOfStrings'下查询所有独特元素的数量?如:
{
"str4" : 2,
"str2" : 1,
"str1" : 2,
"str3" : 1}
谢谢!
答案 0 :(得分:0)
您可以使用LINQ将所有子列表展平为一个,然后按键分组并计算出现次数:
ListOfObjects.SelectMany(x => x.arrayOfStrings).GroupBy(x => x).Select(x => new KeyValuePair<string, int>(x.Key, x.Count()))