From 절(Visual Basic)From Clause (Visual Basic)

하나 이상의 범위 변수 및 쿼리 하는 컬렉션을 지정합니다.Specifies one or more range variables and a collection to query.

구문Syntax

From element [ As type ] In collection [ _ ]  
  [, element2 [ As type2 ] In collection2 [, ... ] ]  

요소Parts

용어Term 정의Definition
element 필수 요소.Required. A 범위 변수 컬렉션의 요소를 반복 하는 데 사용 합니다.A range variable used to iterate through the elements of the collection. 범위 변수는의 각 멤버에 대 한 참조를 사용 하는 collection 쿼리를 반복 하는 대로 collection합니다.A range variable is used to refer to each member of the collection as the query iterates through the collection. 열거 가능한 형식 이어야 합니다.Must be an enumerable type.
type 선택 사항입니다.Optional. element의 형식입니다.The type of element. 없으면 type 지정 된 형식의 element 에서 유추 됩니다 collection합니다.If no type is specified, the type of element is inferred from collection.
collection 필수 요소.Required. 컬렉션을 쿼리할 수를 가리킵니다.Refers to the collection to be queried. 열거 가능한 형식 이어야 합니다.Must be an enumerable type.

설명Remarks

From 절을 사용 하는 쿼리 및 소스 컬렉션에서 요소를 참조 하는 데 사용 되는 변수에 대 한 원본 데이터를 식별 합니다.The From clause is used to identify the source data for a query and the variables that are used to refer to an element from the source collection. 이러한 변수 라고 범위 변수합니다.These variables are called range variables. From 절이 필요한 경우를 제외 하 고 쿼리를 위해는 Aggregate 절은 반환에만 결과 집계 쿼리를 식별 하는 데 있습니다.The From clause is required for a query, except when the Aggregate clause is used to identify a query that returns only aggregated results. 자세한 내용은 Aggregate 절합니다.For more information, see Aggregate Clause.

여러 개 지정할 수 있습니다 From 조인할 여러 컬렉션을 식별 하는 쿼리 절.You can specify multiple From clauses in a query to identify multiple collections to be joined. 여러 컬렉션 지정 되 면 이러한 반복 하지 독립적으로 또는 관련 되어 조인할 수 있습니다.When multiple collections are specified, they are iterated over independently, or you can join them if they are related. 사용 하 여 컬렉션을 암시적으로 연결할 수 있습니다 합니다 Select 절 또는 명시적으로 사용 하 여 합니다 Join 또는 Group Join 절.You can join collections implicitly by using the Select clause, or explicitly by using the Join or Group Join clauses. 대신 지정할 수 있습니다 여러 범위 변수 및 컬렉션을 단일에서 From 각 관련된 범위 변수와 다른에서 쉼표로 구분 된 컬렉션을 사용 하 여 절.As an alternative, you can specify multiple range variables and collections in a single From clause, with each related range variable and collection separated from the others by a comma. 다음 코드 예제에는 두 구문 옵션을 보여 줍니다는 From 절.The following code example shows both syntax options for the From clause.

' Multiple From clauses in a query.
Dim result = From var1 In collection1, var2 In collection2

' Equivalent syntax with a single From clause.
Dim result2 = From var1 In collection1
              From var2 In collection2

합니다 From 범위의 비슷한 쿼리의 범위를 정의 하는 절을 For 루프입니다.The From clause defines the scope of a query, which is similar to the scope of a For loop. 따라서 각 element 쿼리의 범위에 범위 변수는 고유한 이름이 있어야 합니다.Therefore, each element range variable in the scope of a query must have a unique name. 여러 개 지정할 수 있으므로 From 쿼리의 경우 후속 절 From 절에 범위 변수를 참조할 수는 From 하거나 절은 이전에 범위 변수를 참조할 수 From 절.Because you can specify multiple From clauses for a query, subsequent From clauses can refer to range variables in the From clause, or they can refer to range variables in a previous From clause. 예를 들어, 다음 예제에서는 중첩 된 From 절 있는 두 번째 절에 있는 컬렉션은 속성을 기준으로 첫 번째 절의 범위 변수입니다.For example, the following example shows a nested From clause where the collection in the second clause is based on a property of the range variable in the first clause.

Dim allOrders = From cust In GetCustomerList()
                From ord In cust.Orders
                Select ord

From 절 쿼리를 구체화 하는 추가 쿼리 절 조합 올 수 있습니다.Each From clause can be followed by any combination of additional query clauses to refine the query. 다음과 같은 방법으로 쿼리를 구체화할 수 있습니다.You can refine the query in the following ways:

  • 여러 컬렉션을 사용 하 여 암시적으로 결합 합니다 FromSelect 절 또는 명시적으로 사용 하 여 합니다 Join 또는 Group Join 절.Combine multiple collections implicitly by using the From and Select clauses, or explicitly by using the Join or Group Join clauses.

  • 사용 된 Where 절 쿼리 결과를 필터링 합니다.Use the Where clause to filter the query result.

  • 사용 하 여 결과 정렬 된 Order By 절.Sort the result by using the Order By clause.

  • 사용 하 여 비슷한 결과 함께 그룹화 된 Group By 절.Group similar results together by using the Group By clause.

  • 사용 하 여는 Aggregate 절에 집계 함수는 전체 쿼리 결과 대 한 평가를 식별 합니다.Use the Aggregate clause to identify aggregate functions to evaluate for the whole query result.

  • 사용 된 Let 절 값인 컬렉션 대신 식에 의해 결정 됩니다 하는 반복 변수를 도입 합니다.Use the Let clause to introduce an iteration variable whose value is determined by an expression instead of a collection.

  • 사용 하 여는 Distinct 절에 중복 되는 쿼리 결과 무시 합니다.Use the Distinct clause to ignore duplicate query results.

  • 사용 하 여 반환할 결과 부분을 식별 합니다 Skip, TakeSkip While, 및 Take While 절.Identify parts of the result to return by using the Skip, Take, Skip While, and Take While clauses.

예제Example

다음 쿼리 식에 사용을 From 범위 변수를 선언 하는 절 cust 각각에 대해 Customer 개체는 customers 컬렉션입니다.The following query expression uses a From clause to declare a range variable cust for each Customer object in the customers collection. Where 절 범위 변수를 사용 하 여 지정된 된 지역에서 고객에 게 출력을 제한 합니다.The Where clause uses the range variable to restrict the output to customers from the specified region. For Each 루프는 쿼리 결과에서 각 고객의 회사 이름을 표시 합니다.The For Each loop displays the company name for each customer in the query result.

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

참고자료See also