Вы находитесь на странице: 1из 3

Ir para conte�do principal

Microsoft
.NET

APIs .NET Core .NET Framework ASP.NET Xamarin Azure

Docs.NETGuia de C#

Ler em ingl�s

You can display the English text in a popup window by moving the mouse pointer over
the text.
In this article

Vis�o geral da express�o de consulta


Pr�ximas etapas

LINQ (Consulta Integrada � Linguagem)

29/11/2016
6 minutos para ler
Colaboradores
Bill Wagner olprod OpenLocalizationService

O LINQ (consulta integrada � linguagem) � o nome de um conjunto de tecnologias com


base na integra��o de recursos de consulta diretamente na linguagem C#.
Tradicionalmente, consultas em dados s�o expressas como cadeias de caracteres
simples sem verifica��o de tipo no tempo de compila��o ou no suporte a
IntelliSense. Al�m disso, voc� ter� de aprender uma linguagem de consulta diferente
para cada tipo de fonte de dados: bancos de dados SQL, documentos XML, v�rios
servi�os Web e etc. Com o LINQ, uma consulta � um constructo de linguagem de
primeira classe, como classes, m�todos, eventos.

Para um desenvolvedor que escreve consultas, a parte mais vis�vel "integrada �


linguagem" do LINQ � a express�o de consulta. As express�es de consulta s�o uma
sintaxe declarativa de consulta. Usando a sintaxe de consulta, voc� pode executar
opera��es de filtragem, ordena��o e agrupamento em fontes de dados com o m�nimo de
c�digo. Voc� pode usar os mesmos padr�es de express�o de consulta b�sica para
consultar e transformar dados em bancos de dados SQL, conjuntos de dados do
ADO.NET, documentos XML e fluxos e cole��es .NET.

O exemplo a seguir mostra a opera��o de consulta completa. A opera��o completa


inclui a cria��o de uma fonte de dados, defini��o da express�o de consulta e
execu��o da consulta em uma instru��o foreach.
C#

class LINQQueryExpressions
{
static void Main()
{

// Specify the data source.


int[] scores = new int[] { 97, 92, 81, 60 };

// Define the query expression.


IEnumerable<int> scoreQuery =
from score in scores
where score > 80
select score;

// Execute the query.


foreach (int i in scoreQuery)
{
Console.Write(i + " ");
}
}
}
// Output: 97 92 81

Vis�o geral da express�o de consulta

Express�es de consulta podem ser usadas para consultar e transformar dados de


qualquer fonte de dados habilitada para LINQ. Por exemplo, uma �nica consulta pode
recuperar dados de um Banco de Dados SQL e produzir um fluxo XML como sa�da.

As express�es de consulta s�o f�ceis de entender porque elas usam muitos


constructos de linguagem C# familiares.

As vari�veis em uma express�o de consulta s�o fortemente tipadas, embora em


muitos casos voc� n�o precise fornecer o tipo explicitamente, pois o compilador
pode inferir nele. Para obter mais informa��es, consulte Relacionamentos de tipo em
opera��es de consulta LINQ.

Uma consulta n�o � executada at� que voc� itere sobre a vari�vel de consulta,
por exemplo, em uma instru��o foreach. Para obter mais informa��es, consulte
Introdu��o a consultas LINQ.

No tempo de compila��o, as express�es de consulta s�o convertidas em chamadas


de m�todo do operador de consulta padr�o de acordo com as regras definidas na
especifica��o do C#. Qualquer consulta que pode ser expressa usando sintaxe de
consulta tamb�m pode ser expressa usando sintaxe de m�todo. No entanto, na maioria
dos casos, a sintaxe de consulta � mais leg�vel e concisa. Para obter mais
informa��es, consulte Especifica��o da linguagem C# e Vis�o geral de operadores de
consulta padr�o.

Como uma regra ao escrever consultas LINQ, recomendamos que voc� use a sintaxe
de consulta sempre que poss�vel e a sintaxe de m�todo sempre que necess�rio. N�o h�
sem�ntica ou diferen�a de desempenho entre as duas formas. As express�es de
consulta s�o geralmente mais leg�veis do que as express�es equivalentes escritas na
sintaxe de m�todo.

Algumas opera��es de consulta, como Count ou Max, n�o apresentam cl�usulas de


express�o de consulta equivalentes e, portanto, devem ser expressas como chamadas
de m�todo. A sintaxe de m�todo pode ser combinada com a sintaxe de consulta de
v�rias maneiras. Para obter mais informa��es, consulte Sintaxe de consulta e
sintaxe de m�todo em LINQ.

As express�es de consulta podem ser compiladas para �rvores de express�o ou


delegados, dependendo do tipo ao qual a consulta � aplicada. As consultas
IEnumerable<T> s�o compiladas para representantes. As consultas IQueryable e
IQueryable<T> s�o compiladas para �rvores de express�o. Para obter mais
informa��es, consulte �rvores de express�o.

Pr�ximas etapas

Para obter mais detalhes sobre o LINQ, comece se familiarizando com alguns
conceitos b�sicos em No��es b�sicas sobre express�es de consulta, e, em seguida,
leia a documenta��o para a tecnologia LINQ na qual voc� est� interessado:

Documentos XML: LINQ to XML

ADO.NET Entity Framework: LINQ to Entities

Cole��es do .NET, arquivos, cadeias de caracteres, etc.: LINQ to Objects

Para saber mais sobre o LINQ, consulte LINQ em C#.

Para come�ar a trabalhar com o LINQ em C#, consulte o tutorial Trabalhando com
LINQ.
Coment�rios

Adorar�amos saber sua opini�o. Escolha o tipo que gostaria de fornecer:

Nosso novo sistema de coment�rios � criado no GitHub Issues. Leia sobre essa
altera��o na nossa postagem no blog.

Carregando coment�rios...

LINQ (Consulta Integrada � Linguagem)


No��es b�sicas sobre express�es de consulta
LINQ em C#
Escrever consultas LINQ em C#
Consultar uma cole��o de objetos
Retornar uma consulta de um m�todo
Armazenar os resultados de uma consulta na mem�ria
Agrupar resultados de consultas
Criar um grupo aninhado
Executar uma subconsulta em uma opera��o de agrupamento
Agrupar resultados por chaves cont�guas
Especificar filtros predicados dinamicamente em tempo de execu��o
Executar jun��es internas
Executar jun��es agrupadas
Executar jun��es externas esquerdas
Ordenar os resultados de uma cl�usula join
Unir usando chaves compostas
Executar opera��es de jun��o personalizadas
Manipular valores nulos em express�es de consulta
Manipular exce��es em express�es de consultas

Esta p�gina � �til?


Portugu�s (Brasil)

Documentos de vers�es anteriores Blog Contribuir Privacy & Cookies Terms of Use
Coment�rios do site Marcas Comerciais

Вам также может понравиться