簡體   English   中英

迭代集合中所有唯一對的簡單方法

[英]An easy way of iterating over all unique pairs in a collection

我有包含幾個元素的ac#3 HashSet對象。 我想在每一對之間檢查一些東西,而不重復[(a,b)=(b,a)],並且不將元素與自身配對。
我想過切換到某種List,所以我可以將每個元素與他的所有后續元素配對。 是否有選擇使用一般的,無序的Collection做類似的事情? 還是IQuaryable

為此,當您可以使用索引訪問它們會更容易,雖然存在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]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM