gpt4 book ai didi

c# - Linq - 如何在列表的最大元素上应用 where 子句

转载 作者:行者123 更新时间:2023-11-30 13:58:51 26 4
gpt4 key购买 nike

  • 我有一个“人”的列表
  • 每个人都有一个“类别”列表
  • 类别有两个属性:日期和值

我想选择一个人员列表,其中最后一个类别等于“B”。但我不知道如何用 Linq 语法编写“where 子句”。

我的“人”结构是:

<person>
<id>200</id>
<name>Peter</name>
<age>25</age>
<categories>
<category>
<date>2012-05-01<date>
<value>A</value>
</category>
<category>
<date>2013-01-01<date>
<value>B</value>
</category>
<category>
<date>2013-02-01<date>
<value>C</value>
</category>
</categories>
</person>

最佳答案

您可以使用以下内容:

List<Person> allPersons = GetListOfPersons();

List<Person> selectedPersons = allPersons
.Where((x) => x.Categories
.OrderBy(y => y.Date)
.Last()
.Value == "B")
.ToList();

或查询样式

List<Person> selectedPersons = (from person in allPersons
where person.Categories.OrderBy(x => x.Date).Last().Value == "B"
select person).ToList();

关于c# - Linq - 如何在列表的最大元素上应用 where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165503/

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