【发布时间】:2015-03-05 13:36:41
【问题描述】:
对于我的项目,我制作了一个字典,其中包含一个随机双精度和一个属于该双精度的字符串:
Dictionary<double, string> myDict = new Dictionary<double, string>();
对于这个项目,我知道双精度值是一个随机值,并且在字典中所有字符串都是唯一的,除了其中大约 80% 的字符串在字典中出现两次。 所以我想做的是找到成对的 2 个字符串(相同的字符串)并找到属于这 2 个字符串的 2 个双精度值。
基本上我这样做的想法是使用IEnumerator counter = myDict.GetEnumerator(); 并使用while (counter.MoveNext() == true) 启动另一个IEnumerator,它再次循环遍历字典的所有条目并按字符串进行比较,因此if 将以这种方式找到对。
所以对于字典中的每个条目,它会再次循环遍历整个字典以查找对。
现在我觉得这可能不是处理这个问题的最佳解决方案。是否有其他方法可以在字典中找到这些对,或者这是循环执行此操作的唯一真正方法?
【问题讨论】:
-
您能举例说明字典中的内容以及您想要返回的内容吗?也不清楚您是否已经知道要查找的字符串。
-
旁注:
double不是一个好的选择键,因为舍入错误。
标签: c# string dictionary