gpt4 book ai didi

c# - 需要有关 C# LINQ 列表聚合表达式的建议

转载 作者:行者123 更新时间:2023-12-03 06:34:27 24 4
gpt4 key购买 nike

假设我有这个类型价格列表:

[
{
"Id": 57571,
"Price": 1745.0,
"DateAdded": "2018-12-01T00:00:00"
},
{
"Id": 67537,
"Price": 1695.0,
"DateAdded": "2018-09-24T00:00:00"
},
{
"Id": 80042,
"Price": 1645.0,
"DateAdded": "2019-03-24T00:00:00"
},
{
"Id": 155866,
"Price": 1545.0,
"DateAdded": "2019-04-24T00:00:00"
},
{
"Id": 163643,
"Price": 1545.0,
"DateAdded": "2019-04-26T00:00:00"
},
{
"Id": 171379,
"Price": 1545.0,
"DateAdded": "2019-04-27T00:00:00"
},
{
"Id": 178990,
"Price": 1545.0,
"DateAdded": "2019-04-28T00:00:00"
}
]

我需要删除具有相同价格的所有项目,但前提是该项目是列表元素的同级元素。是否可以使用 LINQ 来实现这一点?

我的预期输出是

[
{
"Id": 57571,
"Price": 1745.0,
"DateAdded": "2018-12-01T00:00:00"
},
{
"Id": 67537,
"Price": 1695.0,
"DateAdded": "2018-09-24T00:00:00"
},
{
"Id": 80042,
"Price": 1645.0,
"DateAdded": "2019-03-24T00:00:00"
},
{
"Id": 155866,
"Price": 1545.0,
"DateAdded": "2019-04-24T00:00:00"
}
]

我完全不知道如何实现这一目标。我很感激任何建议。

最佳答案

通过使用ChunkBy extension在微软的C#文档中找到的方法,你可以

myData.ChunkBy(x => x.Price).Select(g => g.First())

...或使用 MoreLinq's GroupAdjacent你可以

myData.GroupAdjacent(x => x.Price).Select(g => g.First())

关于c# - 需要有关 C# LINQ 列表聚合表达式的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56735856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com