각 루프에 대해를 사용하는 대신 LINQ를 사용하는 성능에 대해 공정한 조언을 읽었으며 LINQ 쿼리를 사용하여 이해하는 것이 조금 느리지 만 일반적으로 편의성과 표현력이 필요합니다. 그러나 for 루프에서 쿼리의 결과를 사용하는 것이 얼마나 느린지 조금 혼란 스럽습니다.이 쿼리에 LINQ를 사용해야합니까?
'위치'라는 집합과 '항목'이라는 개체 집합이 있다고 가정 해 보겠습니다. 각 '항목'은 하나의 '위치'에만 속할 수 있습니다. 같은 위치에있는 항목을 서로 연결하고 싶습니다. 내가 대신이 될 것 LINQ를 사용하는 것이었다 그러나
For Each it as Item in Items
If it.Location.equals(Me.Location)
Me.LinkedItems.Add(it)
End If
Next
: 내가 루프 '각각의 경우'정상를 사용하여이 작업을 수행하는 경우는 다음과 같이 될 것이다
For Each it as Item in Items.Where(Function(i) i.Location.equals(Me.Location))
Me.LinkedItems.Add(it)
Next
을 지금 내 질문은 두 번째 (LINQ) 옵션이 전체 'Items'세트를 한 번 반복하여 쿼리를 완료 한 다음 결과를 반복하여 목록에 추가하여 본질적으로 두 개의 루프를 만들거나 그 중 하나를 수행하게 할 것입니다 첫 번째 (For Each) 옵션과 같은 루프? 대답이 전자의 경우, 나는이 상황에서 LINQ를 사용하는 것이 어리석은 것이라고 가정합니다.
공정하지 못함! 나는 그것을 처음으로 발견했다! ;) – RCIX
굉장, 정확히 내가 뭘 찾고 있었는지 고마워! – link664