나는 여러 요소가 포함 된 C# 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]);
Distinct method that takes an IEqualityComparer을 사용하면 어떨까요?
아마도 여기에 뭔가가 누락되었지만 IEqualitycomparer를 사용하여 확실하게 확인할 수는 있습니다. 모든 쌍은 독특합니까? 엘리먼트가 자신과 쌍을 이루지 않게하기 위해 쉽게 사용할 수는 있지만 충분하지는 않습니다. –
HashSet에는 고유 한 요소 만 포함되어 있으므로 먼저 모든 튜플을 만들어야합니다. 지나치게 복잡해 보입니다. –
mm .. 또는 어쩌면 나는 한 쌍의 요소에 대한 비교자를 만들고 모든 쌍의 IEnumerable을 통해 구별 점에 사용할 수 있습니다. 나는 나중에 그것을 조사 할 것이다. 감사. –
- 1. Morphia/MongoDB : 고유 한 필드를 반복하는 방법
- 2. 고유 한 ID를 얻는 쉬운 방법
- 3. 테이블에있는 모든 고유 한 값 쌍을 찾는 방법은 무엇입니까?
- 4. 셀프 조인에서 고유 한 쌍을 선택하십시오.
- 5. SQL에서 고유 한 값 쌍을 어떻게 계산합니까?
- 6. Java 5 이상에서 java.util.Map의 모든 키/값 쌍을 반복하는 가장 쉬운 방법은 무엇입니까?
- 7. 자바에서 컬렉션 요소의 고유 한 쌍을 가져 오는 관용어
- 8. 테이블에서 고유 한 행 쌍을 임의로 선택하려면 어떻게합니까?
- 9. 고유 한 열 쌍을 A, B 또는 B, A
- 10. 제네릭 컬렉션의 한 요소를 복사하는 방법
- 11. 부분적으로 고유 한/고유 한 행을 반환합니다.
- 12. ValidationRule 고유 한 이름을 적용하려면
- 13. NSArray를 거꾸로 반복하는 쉬운 방법이 있습니까?
- 14. SQL : 모든 열의 고유 한 값의 수입니다.
- 15. 모든 DataGrid 헤더에는 고유 한 이름이 있어야합니다 - 해결 방법
- 16. 컬렉션에 모든 고유 한 개체가 포함되어 있는지 확인하는 방법
- 17. 고유 한 영숫자를 생성하는 방법?
- 18. 고유 한 요소를 얻는 방법?
- 19. Outlook Interop : 폴더의 모든 항목을 반복하는 방법
- 20. xml 변수의 모든 행을 반복하는 방법
- 21. 요소의 모든 하위 요소를 반복하는 방법
- 22. 고유 한 대 오라클의 고유 한 키워드
- 23. '고유 한 키'또는 '고유 한 키'색인
- 24. 고유 한 문자열을 고유 한 정수로 변환
- 25. 파일 라인을 반복하는 가장 쉬운 방법은 무엇입니까?
- 26. 술어와 고유 한 오브젝트
- 27. 지도에 쌍을 삽입하는 방법
- 28. 프롤로그의 고유 한 결과
- 29. 쌍을 뒤섞는 방법
- 30. 고유 한 64 비트 키를 생성하는 방법
그래서, 단지 명확하게하기 위해 : 당신이 _set_을 먹고 싶어하고,에서 예, 그 _TWO 요소 subsets_ 모두의 _sequence_ 생산을? –
고유 한 두 요소로 구성된 하위 집합이므로, (a, b)가있을 경우 (b, a)는 그렇지 않습니다. ToList() 메서드를 사용하거나 목록을 사용하여 내 설정을 전환하고 완료한다고 생각합니다. –