Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Especifica uma ou mais variáveis de intervalo e uma coleção a ser consultada.
Sintaxe
From element [ As type ] In collection [ _ ]
[, element2 [ As type2 ] In collection2 [, ... ] ]
Partes
| Prazo | Definição |
|---|---|
element |
Obrigatório Uma variável de intervalo usada para iterar por meio dos elementos da coleção. Uma variável de intervalo é usada para se referir a cada membro do collection como a consulta itera por meio do collection. Deve ser um tipo enumerável. |
type |
Opcional. O tipo de element. Se não type for especificado, o tipo de element é inferido de collection. |
collection |
Obrigatório Refere-se à coleção a ser consultada. Deve ser um tipo enumerável. |
Observações
A From cláusula é usada para identificar os dados de origem de uma consulta e as variáveis usadas para se referir a um elemento da coleção de origem. Essas variáveis são chamadas de variáveis de intervalo. A From cláusula é necessária para uma consulta, exceto quando a Aggregate cláusula é usada para identificar uma consulta que retorna apenas os resultados agregados. Para obter mais informações, consulte Cláusula Aggregate.
Você pode especificar várias From cláusulas em uma consulta para identificar várias coleções a serem ingressadas. Quando várias coleções são especificadas, elas são iteradas de forma independente ou você pode juntá-las se elas estiverem relacionadas. Você pode unir coleções implicitamente usando a Select cláusula ou explicitamente usando as cláusulas ouGroup Join.Join Como alternativa, você pode especificar várias variáveis de intervalo e coleções em uma única From cláusula, com cada variável de intervalo relacionada e coleção separadas das outras por vírgula. O exemplo de código a seguir mostra as duas opções de sintaxe para a From cláusula.
' 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
A From cláusula define o escopo de uma consulta, que é semelhante ao escopo de um For loop. Portanto, cada element variável de intervalo no escopo de uma consulta deve ter um nome exclusivo. Como você pode especificar várias From cláusulas para uma consulta, as cláusulas subsequentes From podem se referir a variáveis de intervalo na From cláusula ou podem se referir a variáveis de intervalo em uma cláusula anterior From . Por exemplo, o exemplo a seguir mostra uma cláusula aninhada From em que a coleção na segunda cláusula é baseada em uma propriedade da variável de intervalo na primeira cláusula.
Dim allOrders = From cust In GetCustomerList()
From ord In cust.Orders
Select ord
Cada From cláusula pode ser seguida por qualquer combinação de cláusulas de consulta adicionais para refinar a consulta. Você pode refinar a consulta das seguintes maneiras:
Combine várias coleções implicitamente usando as
Fromcláusulas eSelectou explicitamente usando as cláusulas ouGroup Join.JoinUse a
Wherecláusula para filtrar o resultado da consulta.Classifique o resultado usando a
Order Bycláusula.Agrupe resultados semelhantes usando a
Group Bycláusula.Use a
Aggregatecláusula para identificar funções de agregação a serem avaliadas para todo o resultado da consulta.Use a
Letcláusula para introduzir uma variável de iteração cujo valor é determinado por uma expressão em vez de uma coleção.Use a
Distinctcláusula para ignorar resultados de consulta duplicados.Identifique partes do resultado a serem retornadas usando as
Skipcláusulas ,TakeSkip WhileeTake While.
Exemplo
A expressão de consulta a seguir usa uma From cláusula para declarar uma variável cust de intervalo para cada Customer objeto na customers coleção. A Where cláusula usa a variável de intervalo para restringir a saída aos clientes da região especificada. O For Each loop exibe o nome da empresa para cada cliente no resultado da consulta.
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
Consulte também
- Consultas
- Introdução ao LINQ no Visual Basic
- Instrução For Each...Next
- Para... Próxima Declaração
- Cláusula SELECT
- Cláusula 'WHERE'
- Cláusula de Agregação
- Cláusula Distinta
- Cláusula de Junção
- Cláusula de Junção de Grupo
- Cláusula Order By
- Cláusula Let
- Cláusula Skip
- Cláusula Take
- Cláusula "Skip While"
- Cláusula Take While