【发布时间】:2014-06-08 02:37:08
【问题描述】:
如何遍历 HashSet 中两个元素的每个组合一次?
foreach (var elt1 in hashSet) {
foreach (var elt2 in hashSet) {
...
}
}
这将迭代两个组合,但将迭代每个组合两次。我想做一次。
我认为用 Python 很容易做到。有没有办法在 C# 中做到这一点?
示例:
输入哈希集:{ 1, 2, 3, 4 }
遍历:(1,2), (1,3), (1,4), (2,3), (2,4), (3,4)
【问题讨论】:
-
ToArray() hashSet 然后在数组上使用嵌套循环?
-
这个可以,是的。有没有更简洁的方法?
-
如果 hashSet 包含 n 项,则应有 n * n 个组合;生成它们的最简单方法是嵌套循环,INHO
-
能否请您详细说明一下...表示您的输入是什么样的,输出是什么以及您想要执行的操作,以便我们更好地了解整个事情
-
@yper 在我的头上,我不这么认为。只需
ToArray()、For i 0 → size、For j i → size