You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从重复记录中提取指定Enum值的单条记录并保留顺序?

问题解答

完全可以实现提取指定Enum值的单条重复记录,还能同时满足「保留数据原有顺序、每种Enum值仅显示一条」的需求,分两种场景说明:

1. 仅提取单个指定Enum值的单条记录

你当前的代码已经能达成这个目标:

var result = rpcResponse.Result;
var targetRecord = result.Where(x => x.Event == Event.SendEmail).FirstOrDefault();

这段代码会按照原集合的顺序,找到第一个Event为SendEmail的记录,直接取这条就完成了指定Enum值的单条提取,完全符合要求。

2. 全局去重:所有Enum值各保留第一条记录

如果需要处理全部80条数据,让每种Enum值仅保留原顺序里的第一条记录,可以用GroupBy结合First()实现:

var result = rpcResponse.Result;
var deduplicatedResult = result
    .GroupBy(x => x.Event)
    .Select(g => g.First())
    .ToList();
  • GroupBy(x => x.Event):按Enum字段分组,将相同Event的记录归为同一组
  • Select(g => g.First()):每组取原顺序中的第一条记录,确保整体顺序和原集合一致
  • 最终得到的集合就是每种Enum值仅一条、且保留原数据顺序的结果

内容的提问来源于stack exchange,提问作者lakykytik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:22:34