如何使用值从字典中删除条目
我有一个字典集合,如下所示:
mydic.addvalue(key1, val1)
mydic.addvalue(key2, val1)
mydic.addvalue(key3, val1)
mydic.addvalue(key4, val2)
mydic.addvalue(key5, val2)
从上面的字典中,我想删除 value ==“val1” 的所有条目,以便结果只有以下条目:
mydic.addvalue(key4, val2)
mydic.addvalue(key5, val2)
我的 VB 源代码位于 VS2008 上,目标为 3.5
I have a dictionary collection as bleow:
mydic.addvalue(key1, val1)
mydic.addvalue(key2, val1)
mydic.addvalue(key3, val1)
mydic.addvalue(key4, val2)
mydic.addvalue(key5, val2)
From the above dictionary I want to delete all the entries where value == "val1", so that the result would have only following entry:
mydic.addvalue(key4, val2)
mydic.addvalue(key5, val2)
My VB source code is on VS2008 and targeted for 3.5
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您首先需要找到关联值为
val1
的所有键:然后您可以删除每个键:
You first need to find all keys for which the associated value is
val1
:Then you can remove each of those keys:
基于用户评论的非 LINQ 答案。
用法示例:
与其他答案相同的警告:如果您的值通过引用确定相等,则您需要做额外的工作。这只是一个基础。
A non-LINQ answer based on a comment by the user.
Example usage:
Same caveat as with the other answers: if your value determines equality by reference, you'll need to do extra work. This is just a base.
您还可以使用
x 不会有任何 val1
You can also use
x will not have any of the val1's
答案很旧,但这就是我在不创建另一个字典的情况下做同样的事情的方法。
The answer it's old but this is how I do the same thing without create another Dictionary.