주어진 코드를 개선하도록 요청 받았습니다. 코드의 개념은 객체의 목록을 가져 오는 것이며 두 개의 foreach 루프가 충돌하는지 확인합니다. 의사로 작성된 코드 : - 효율적이지 못하다 각 개체에 대해목록 C에서 후속 요소 가져 오기 #
foreach (Entity object in objectList)
foreach (Entity object2 in objectList)
if (object.collideWith(object2))
Collision(object,object2)
는 각 개체 위에 반복합니다. 대신 "각 개체에 대해 모든 후속 개체에 반복"으로 변경해야합니다. C#을 상당히 새로운 임, 그러나 이것은 내가 의사의 soulution imagened하는 방법입니다 : 객체가 한 번 서로 충돌하는 경우
foreach (Entity object in objectList)
if (object.collideWith(subsequent object))
Collision(object, subsequent object)
이 방법은, 난 단지 확인 해요입니다. 하지만 내 목록에 "후속 객체"를 얻으려면 어떻게해야합니까?
"C# linq intersect"를 검색하는 것이 좋습니다. – granadaCoder
필자는 필자가 어떻게 유용 할 지 확신하지 못합니다. 교차하지 않는다면 두 개의리스트를 가져와 같은 원소를 반환 할 것인가? 나는 오직 하나의 대상 목록 만 갖고있다. – Hako
http://stackoverflow.com/questions/18547354/c-sharp-linq-find-duplicates-in-list – granadaCoder