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

bri*_*342 3 c# linq lambda list

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

var call = callList.Where(i => i.ApplicationID == 001).ToList();
Run Code Online (Sandbox Code Playgroud)

这将返回所有id为001的对象列表.

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

Ale*_*ria 19

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

var list = callList.GroupBy(x => x.ApplicationID).Select(x => x.First()).ToList();
Run Code Online (Sandbox Code Playgroud)

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

AppID:1, AppID:1, AppID:2, AppID:2, AppID:3, AppID:3
Run Code Online (Sandbox Code Playgroud)

将返回:

AppID:1 AppID:2 AppID:3
Run Code Online (Sandbox Code Playgroud)