我有一个包含多个元素的c#3 HashSet
对象。我想检查每一对之间的东西,而不重复[(a,b)=(b,a)],并且不将元素与自身配对。
我想过切换到某种List,所以我可以将每个元素与他的所有后续元素配对。是否可以选择使用一般的无序Collection
做类似的事情?或IQuaryable
?
答案 0 :(得分:3)
为此,当您可以使用索引访问它们时会更容易,尽管存在ElementAt<>扩展它可能更快使用.ToList()首先。
当您有可寻址列表时:
for (int i = 0; i < list.Count-1; i++)
for (int j = i+1; j < list.Count; j++)
Foo(list[i], list[j]);
答案 1 :(得分:2)