我正在按顺序从MongoDb获取数据,键(不是唯一的)为 AB ,因此我必须汇总响应并使用Linq [c#]获取基于键的顶级唯一值
响应:
[{
"AB": "XY",
"BC": "TRAVEL",
"CD": "75",
"EF": "21"
},
{
"AB": "TY",
"BC": "STOP",
"CD": "344",
"EF": "55"
},
{
"AB": "XY",
"BC": "STOP",
"CD": "45",
"EF": "44"
},
{
"AB": "ZZ",
"BC": "STOP",
"CD": "89",
"EF": "33"
},
{
"AB": "TY",
"BC": "STOP",
"CD": "67",
"EF": "88"
},
{
"AB": "ZZ",
"BC": "TRAVEL",
"CD": "14",
"EF": "55"
}
]
响应采用排序格式,即第一个响应是最新的
我想要产生的结果是:
[{
"AB": "XY",
"BC": "TRAVEL",
"CD": "75",
"EF": "21"
},
{
"AB": "ZZ",
"BC": "STOP",
"CD": "89",
"EF": "33"
},
{
"AB": "TY",
"BC": "STOP",
"CD": "344",
"EF": "55"
}]
因为AB键可以包含不同的值
答案 0 :(得分:3)
好吧,您可以使用LINQ
GroupBy
方法:
var filteredResponse = response.GroupBy(o => o.AB).Select(g => g.First()).ToList();