두 코드 샘플 중 어느 것이 더 효율적인지 (또는 두 무시할 수있는 차이점은 무엇입니까?) 궁금합니다.If 문 또는 For Each 루프가있는 Where 확장명?
For Each apple in AppleController.GetRedApples().Where(Function(a) PriceController.OnSale(a))
'do something
Next
또는
For Each apple in AppleController.GetRedApples()
If PriceController.OnSale(apple) Then
'do something
End If
Next
감사합니다! 첫 번째 부분이 될 수있는 전체 IDE에서 한 줄을
Dim applesOnSale = AppleController.GetRedApples() _
.Where(Function(a) PriceController.OnSale(a))
For Each apple in applesOnSale
'do something
Next
을 - 또는 당신은이 같은 VB 쿼리 식 사용할 수 있습니다 :
가독성에 대한 흥미로운 점은 항상 VB.NET이 왜 개선되지 않았는지 궁금해했습니다. LINQ가 발생하면 C#과 VB 사이의 가독성 차이가 커지며 VB 코드 작성자에게는 커다란 책임이되었습니다. – Abel