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

如何删除包含Tuple元组元素的C# List<T>中的重复条目?

C# 值元组列表去重解决方案

需要先引入 System.Linq 命名空间,以下两种方案可适配不同.NET版本实现去重需求:

方案1:.NET 6及以上版本(推荐)

使用内置DistinctBy方法按球员ID(元组第一个元素)去重,相同ID仅保留第一条记录:

List<(int, int)> distinctVotedTeam = VotedTeam.DistinctBy(player => player.Item1).ToList();

若需判定球员ID和投票数完全一致才为重复项,可直接使用Distinct方法,C#值元组默认支持值相等比较:

List<(int, int)> distinctVotedTeam = VotedTeam.Distinct().ToList();

方案2:兼容低版本.NET

通过GroupBy分组后取每组首元素实现去重:

List<(int, int)> distinctVotedTeam = VotedTeam
    .GroupBy(player => player.Item1)
    .Select(group => group.First())
    .ToList();

处理结果

以上方案处理后得到的列表为:

(1, 3), (2, 2), (3, 1)

如果存在同一球员ID对应不同投票数的场景,可以根据业务需求调整选择逻辑,比如保留最高投票数、累加总投票数等。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:15:02