[英]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.