首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个新的对象列表,其中包含具有最近日期的项目

创建一个新的对象列表,其中包含具有最近日期的项目
EN

Stack Overflow用户
提问于 2018-04-19 19:04:53
回答 1查看 26关注 0票数 0

我有一个包含来自单个类的对象集合的列表ListA。这个类由三个属性组成,它们都是字符串:

代码语言:javascript
复制
Code, Ref, StartDate

我要创建ListB,确保仅从ListA中选择最新的开始日期

用LINQ做这件事最有效的方法是什么?

来自ListA的示例内容:

OA 001 01.01.2000

OA 001 02.01.2000

OA 001 01.12.2001

OB 002 01.01.2000

ListB中的预期内容:

OA 001 01.12.2001

OB 002 01.01.2000

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2018-04-19 19:57:51

下面的代码会对你有所帮助。

代码语言:javascript
复制
var ListA = new List<Your_Class>() { 
         new Your_Class{ Code = "OA", Ref ="001",StartDate=Convert.ToDateTime ("01.01.2000")},
         new Your_Class{ Code = "OA", Ref ="001",StartDate=Convert.ToDateTime("01.01.2000")},
         new Your_Class{ Code = "OA", Ref ="001",StartDate=Convert.ToDateTime("12.01.2001")},
         new Your_Class{ Code = "OB", Ref ="002",StartDate=Convert.ToDateTime("01.01.2000")}
};

var ListB =  from c in ListA
             group c by c.Code into grp
             select grp.OrderByDescending(c => c.StartDate).FirstOrDefault();
foreach(Your_Class your_cls in ListB) {
          Console.WriteLine(your_cls.Code+" "+your_cls.Ref+" "+ your_cls.StartDate.ToString("dd.MM.yyyy"));
}

C# Demo

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49919524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档