c# - Lambda 表达式为列表中的每个不同值返回一个结果

标签 c# linq list lambda

我目前有一个很大的类对象列表,我目前正在使用以下 lambda 函数返回满足条件的元素。

var call = callList.Where(i => i.ApplicationID == 001).ToList();

这将返回 ID 均为 001 的对象列表。

我现在很好奇有哪些不同的 ApplicationID。所以我想要一个 lambda 函数来查看这个列表并返回一个列表,其中所有元素都有不同的 ApplicationID 但只获取其中一个。

最佳答案

如果我理解你的问题,你可以试试:

var list = callList.GroupBy(x => x.ApplicationID).Select(x => x.First()).ToList();

所以如果你有一个像这样的列表:

AppID:1, AppID:1, AppID:2, AppID:2, AppID:3, AppID:3

将返回:

AppID:1 AppID:2 AppID:3

关于c# - Lambda 表达式为列表中的每个不同值返回一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22534035/

相关文章:

c# - 在List<T>中选择整周没有休息日的记录 - C#

sql-server - 如何在 SQL Linq 中返回 3 个最低分数?

java - List<Object> list = Database.getAllData(); 是什么类型的列表?

java - 如何使用 Jackson yaml 以大括号 ([ ]) 格式将 Java 列表打印到 Yaml 列表

c# - 使用 Lync Client API 2010 拒绝后如何接受传入的视频调用?

c# - unity NavMeshPath 改变和重新分配

c# - Apple "FairPlay Key Security Module"必须用 C 实现吗?

用于屏蔽电子邮件的 C# 正则表达式

c# - 奇怪的 Linq to Entities 行为与 AsExpandable()

html - 如何在使用 flutter_html 插件的地方自定义 UL > LI