Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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
| Período | Definição |
|---|---|
element |
Obrigatório Uma variável de intervalo usada para iterar através dos elementos da coleção. Uma variável range é usada para se referir a cada membro do à medida que a collection consulta itera através do collection. Deve ser um tipo enumerável. |
type |
Opcional. O tipo de element. Se não type for especificado, o tipo de é inferido a partir de elementcollection. |
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 para uma consulta e as variáveis que são 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 resultados agregados. Para obter mais informações, consulte Cláusula agregada.
Você pode especificar várias From cláusulas em uma consulta para identificar várias coleções a serem associadas. Quando várias coleções são especificadas, elas são iteradas de forma independente ou você pode juntá-las se estiverem relacionadas. Você pode unir coleções implicitamente usando a Select cláusula ou explicitamente usando as Join cláusulas or Group 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 separada das outras por uma vírgula. O exemplo de código a seguir mostra ambas as 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 From cláusulas subsequentes From podem se referir a variáveis de intervalo na cláusula ou podem se referir a variáveis de intervalo em uma cláusula anteriorFrom. 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 range 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 asJoincláusulas orGroup Join.Use 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 agregadas para avaliar 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 ,Take,Skip WhileeTake While.
Exemplo
A expressão de consulta a seguir usa uma From cláusula para declarar uma variável cust range para cada Customer objeto na customers coleção. A Where cláusula usa a variável range 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
Ver também
- Consultas
- Introdução ao LINQ no Visual Basic
- Para cada um... Próxima declaração
- Para... Próxima declaração
- Selecionar cláusula
- Cláusula WHERE
- Cláusula agregada
- Cláusula distinta
- Cláusula de adesão
- Cláusula de Adesão ao Grupo
- Cláusula ORDER BY
- Cláusula Let
- Cláusula de Omissão
- Cláusula de Aquisição
- Cláusula de Skip While
- Cláusula Take While