gpt4 book ai didi

c# - 检查 list<> 项目,如果它包含相同的项目,则复制它们并将其从 list<> 中删除

转载 作者:行者123 更新时间:2023-11-30 20:27:16 24 4
gpt4 key购买 nike

想要检查列表是否包含相同的项目

var listme = new List<string>();
listme.Add("list1");
listme.Add("list1");

并想计算相同项目的数量并复制它,然后将其从列表中删除。

最佳答案

您可以使用 GroupBy 在单个 LINQ 语句中完成此操作和 ToDictionary :

var dupCounts = listme
.GroupBy(s => s)
.Where(g => g.Count() > 1) // Keep only groups with duplicates
.ToDictionary(g => g.Key, g => g.Count());

这会产生一个 Dictionary<string,int>其中列表中的每个项目都映射到原始列表中的相应计数。现在您可以从原始列表中删除所有重复项:

listme.RemoveAll(dupCounts.Keys);

关于c# - 检查 list<> 项目,如果它包含相同的项目,则复制它们并将其从 list<> 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48828675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com