gpt4 book ai didi

c# - 使用 Linq 从 C# 中的字典中删除具有相同值数据的多个键

转载 作者:太空宇宙 更新时间:2023-11-03 17:29:47 27 4
gpt4 key购买 nike

我知道必须有更好的方法来做到这一点...也许使用 LINQ?如果我删除一个值,它会使迭代器无效,这就是为什么我将它放在一个无限循环中,从而重新开始整个过程​​。我正在寻找一种更易于阅读、维护并最终更快的方法来做到这一点。这是我得到的:

Dictionary<string, string> Channels = //...;
while (true)
{
var bFound = false;
foreach(var c in Channels)
{
if(c.Value == version)
{
Channels.Remove(c.Key);
bFound = true;
break;
}
}
if (!bFound) { break; }
}

感谢您帮助优化此例程。

最佳答案

根据您的示例,根据与版本值的比较,您似乎正在删除。

Channels = Channels.Where(x=> x.Value != version)
.ToDictionary(c => c.Key, c => c.Value);

关于c# - 使用 Linq 从 C# 中的字典中删除具有相同值数据的多个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50222421/

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