0Pricing
C# Academy · Aula

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

Verificação rápida: O que significa dizer que a maioria dos operadores de LINQ é 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

  1. Arrays, fatiamento, List , Dictionary
  2. Padrões de foreach e inicializadores de coleções
  3. Visão geral de LINQ: Where, Select, OrderBy, Take/Skip; execução adiada
← Voltar para C# Academy