쿼리에 대한 필터링 조건을 지정합니다.
문법
Where condition
부분
condition
필수 사항입니다. 컬렉션의 현재 항목에 대한 값이 출력 컬렉션에 포함되는지 여부를 결정하는 식입니다. 식은 값 또는 값에 해당하는 값으로 Boolean 계산 Boolean 되어야 합니다. 조건이 계산 True되면 요소가 쿼리 결과에 포함되고, 그렇지 않으면 요소가 쿼리 결과에서 제외됩니다.
비고
절 Where 을 사용하면 특정 조건을 충족하는 요소만 선택하여 쿼리 데이터를 필터링할 수 있습니다. 값으로 인해 절이 Where 계산 True 되는 요소는 쿼리 결과에 포함되고 다른 요소는 제외됩니다. 절에 Where 사용되는 식은 값이 0인 경우를 계산 Boolean 하는 정수와 같이 해당 값에 해당하는 Boolean식으로 평가 False 되어야 합니다. , Or,AndAlsoIsNotOrElseIs, 및 .와 같은 And논리 연산자를 Where 사용하여 절에서 여러 식을 결합할 수 있습니다.
기본적으로 쿼리 식은 액세스될 때까지 평가되지 않습니다(예: 데이터 바인딩되거나 루프에서 For 반복되는 경우). 따라서 쿼리에 Where 액세스할 때까지 절이 평가되지 않습니다. 절에 Where 사용되는 쿼리 외부의 값이 있는 경우 쿼리가 실행될 때 해당 값이 절에 Where 사용되는지 확인합니다. 쿼리 실행에 대한 자세한 내용은 첫 번째 LINQ 쿼리 작성을 참조하세요.
절 내의 함수를 Where 호출하여 컬렉션의 현재 요소에서 값에 대한 계산 또는 작업을 수행할 수 있습니다. 절에서 함수를 Where 호출하면 쿼리에 액세스할 때가 아니라 정의될 때 즉시 쿼리가 실행될 수 있습니다. 쿼리 실행에 대한 자세한 내용은 첫 번째 LINQ 쿼리 작성을 참조하세요.
예제 1
다음 쿼리 식은 절을 From 사용하여 컬렉션의 각 cust 개체에 대한 범위 변수 Customer 를 customers 선언합니다. 이 절은 Where 범위 변수를 사용하여 지정된 지역의 고객에게 출력을 제한합니다. 이 루프는 For Each 쿼리 결과에 각 고객의 회사 이름을 표시합니다.
Sub DisplayCustomersForRegion(ByVal customers As List(Of Customer),
ByVal region As String)
Dim customersForRegion = From cust In customers
Where cust.Region = region
For Each cust In customersForRegion
Console.WriteLine(cust.CompanyName)
Next
End Sub
예제 2
다음 예제에서는 절의 논리 연산자 및 Or 사용법 연산자를 Where 사용합니다And.
Private Sub DisplayElements()
Dim elements As List(Of Element) = BuildList()
' Get a list of elements that have an atomic number from 12 to 14,
' or that have a name that ends in "r".
Dim subset = From theElement In elements
Where (theElement.AtomicNumber >= 12 And theElement.AtomicNumber < 15) _
Or theElement.Name.EndsWith("r")
Order By theElement.Name
For Each theElement In subset
Console.WriteLine(theElement.Name & " " & theElement.AtomicNumber)
Next
' Output:
' Aluminum 13
' Magnesium 12
' Silicon 14
' Sulfur 16
End Sub
Private Function BuildList() As List(Of Element)
Return New List(Of Element) From
{
{New Element With {.Name = "Sodium", .AtomicNumber = 11}},
{New Element With {.Name = "Magnesium", .AtomicNumber = 12}},
{New Element With {.Name = "Aluminum", .AtomicNumber = 13}},
{New Element With {.Name = "Silicon", .AtomicNumber = 14}},
{New Element With {.Name = "Phosphorous", .AtomicNumber = 15}},
{New Element With {.Name = "Sulfur", .AtomicNumber = 16}}
}
End Function
Public Class Element
Public Property Name As String
Public Property AtomicNumber As Integer
End Class
참고하십시오
- Visual Basic LINQ 소개
- 쿼리
- From 절
- Select 절
- For Each...Next 문
.NET