Visão geral de LINQ: Where, Select, OrderBy, Take/Skip; execução adiada
Crie pequenos pipelines de LINQ sobre IEnumerable : filtre com Where, transforme com Select, ordene com OrderBy e aprenda a diferença entre execução adiada e materialização.
Visão geral de LINQ: Where, Select, OrderBy, Take/Skip; execução adiada é uma aula grátis de C# Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C# Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C# Academy inclui 3 aulas no total.
Visão geral de LINQ
Objetivo: Use pequenos fluxos de LINQ para filtrar, transformar e ordenar dados.
- Where (filtrar)
- Select (mapear)
- OrderBy, Take/Skip
- Execução adiada e materialização
Where + Select
Encadeie Where (filtrar) e depois Select (transformar). Leia da esquerda para a direita.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
int[] data = new int[] { 1, 2, 3, 4, 5, 6 };
// Filter even numbers, then square them
var query = data.Where(x => x % 2 == 0)
.Select(x => x * x);
foreach (int n in query)
{
Console.WriteLine(n); // 4, 16, 36
}
}
}
OrderBy + Take
Ordene com OrderBy (e ThenBy) e limite com Take.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
string[] names = new string[] { "Zoe", "Ada", "Alan", "Bob" };
var top2 = names.OrderBy(s => s.Length) // shortest first
.ThenBy(s => s) // tie-breaker
.Take(2);
foreach (string s in top2)
{
Console.WriteLine(s); // Ada, Bob
}
}
}
Projeção (tipo anônimo)
Select pode criar objetos anônimos para alterar rapidamente o formato (Word, Length).
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
string[] words = new string[] { "map", "filter", "reduce" };
var info = words.Select(w => new { Word = w, Length = w.Length });
foreach (var x in info)
{
Console.WriteLine(x.Word + " (" + x.Length + ")");
}
}
}
Execução adiada
Adiada: a consulta é executada quando você itera. Alterações na fonte antes da enumeração afetam os resultados.
using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
List<int> numbers = new List<int> { 1, 2, 3 };
var q = numbers.Where(x => x > 1); // not executed yet
numbers.Add(4); // modify source before enumeration
foreach (int x in q) // executes here
{
Console.WriteLine(x); // 2, 3, 4
}
}
}
Materialização e sintaxe
Use ToList/ToArray para executar e armazenar os resultados. A sintaxe de consulta é outra forma de escrever o mesmo fluxo.
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
int[] data = new int[] { 3, 1, 2 };
// Method syntax + materialize
var sorted = data.OrderBy(x => x).ToList(); // executes now
data[0] = 100; // will not affect 'sorted' (already materialized)
foreach (int n in sorted) { Console.WriteLine(n); } // 1,2,3
// Query syntax (equivalent)
var query =
from x in data
where x < 50
select x * 2;
foreach (int n in query) { Console.WriteLine(n); } // 2,4
}
}
Significado da execução adiada
Recapitulação
Recapitulação: Crie fluxos com Where, Select, OrderBy e Take/Skip. LINQ é adiado — materialize com ToList/ToArray quando precisar de resultados estáveis.
Perguntas Frequentes
A aula “Visão geral de LINQ: Where, Select, OrderBy, Take/Skip; execução adiada” é grátis?
Sim — o texto completo de “Visão geral de LINQ: Where, Select, OrderBy, Take/Skip; execução adiada” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C# Academy, atualize para CoddyKit PRO. O curso de C# Academy inclui 3 aulas no total.
O que vou aprender em “Visão geral de LINQ: Where, Select, OrderBy, Take/Skip; execução adiada”?
Crie pequenos pipelines de LINQ sobre IEnumerable : filtre com Where, transforme com Select, ordene com OrderBy e aprenda a diferença entre execução adiada e materialização. Você pratica C# Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C# Academy?
Nenhuma experiência prévia é necessária. C# Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Visão geral de LINQ: Where, Select, OrderBy, Take/Skip; execução adiada”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C# Academy?
Sim. Cada aula de C# Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Arrays, fatiamento, List , Dictionary
- Padrões de foreach e inicializadores de coleções
- Visão geral de LINQ: Where, Select, OrderBy, Take/Skip; execução adiada