gpt4 book ai didi

c# - 从字典中删除重复项

转载 作者:太空宇宙 更新时间:2023-11-03 10:26:21 24 4
gpt4 key购买 nike

      // removing duplicities from Dictionary
var removables = data.ToLookup(x => x.Value, x => x.Key)
.SelectMany(x => x.Skip(1)).ToList();
foreach (var key in removables)
data.Remove(key);

此代码适用于以下输入(数据):

102030;"http://xxx.yyy.com/102030.ashx"
102030;"http://xxx.yyy.com/102030_x.ashx"

102030;"http://xxx.yyy.com/102030_x.ashx" 已删除。

但是当我给出这个输入时:

102030;"http://xxx.yyy.com/102030_x.ashx"
102030;"http://xxx.yyy.com/102030.ashx"

102030;"http://xxx.yyy.com/102030.ashx" 已删除。但我只需要删除包含“_”的项目。

如何解决这个问题?是否可以按长度对输入进行排序或调整 linq 查询?

最佳答案

如果你想跳过带下划线的元素,你不应该跳过第一个元素,而是保留所有没有下划线的元素:

// smart removing duplicities from Dictionary
var removables = data.ToLookup(x => x.Value, x => x.Key)
.SelectMany(x => x.Where(y => !y.Key.Contains('_')).ToList();
foreach (var key in removables)
data.Remove(key);

关于c# - 从字典中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31510776/

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