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.
Essa refatoração se aplica a:
- C#
Que: Permite converter facilmente o loop foreach que usa um IEnumerable em uma consulta LINQ ou em um formulário de chamada LINQ (também conhecido como método LINQ).
Quando: Você tem um loop foreach que usa um IEnumerable e deseja que esse loop seja lido como uma consulta LINQ.
Por que: Você prefere usar a sintaxe LINQ em vez de um loop foreach. O LINQ faz uma consulta em uma construção de linguagem de primeira classe em C#. O LINQ pode reduzir a quantidade de código em um arquivo, facilitar a leitura do código e permitir que diferentes fontes de dados tenham padrões de expressão de consulta semelhantes.
Observação
A sintaxe LINQ normalmente é menos eficiente do que um loop foreach. É bom estar ciente de qualquer compensação de desempenho que possa ocorrer quando você usa o LINQ para melhorar a legibilidade do seu código.
Converter um loop foreach em refatoração LINQ
Coloque o
foreachcursor na palavra-chave.
Pressione Ctrl+. para acionar o menu Ações rápidas e refatoração .
Selecione Converter em LINQ ou Converter em Linq (formulário de chamada).
Código de exemplo
using System.Collections.Generic;
public class Class1
{
public void MyMethod()
{
var greetings = new List<string>()
{ "hi", "yo", "hello", "howdy" };
IEnumerable<string> enumerable()
{
foreach (var greet in greetings)
{
if (greet.Length < 3)
{
yield return greet;
}
}
yield break;
}
}
}