Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Esta refactorización se aplica a:
- C#
Qué: Permite convertir fácilmente el bucle foreach que usa un IEnumerable en una consulta LINQ o un formulario de llamada LINQ (también conocido como método LINQ).
Cuando: Tiene un bucle foreach que usa un IEnumerable y desea que ese bucle se lea como una consulta LINQ.
Por qué: Es preferible usar la sintaxis LINQ en lugar de un bucle foreach. LINQ convierte una consulta en una construcción de lenguaje de primera clase en C#. LINQ puede reducir la cantidad de código de un archivo, facilitar la lectura del código y permitir que diferentes orígenes de datos tengan patrones de expresión de consulta similares.
Nota:
La sintaxis de LINQ suele ser menos eficaz que la de un bucle foreach. Es bueno tener en cuenta cualquier compensación de rendimiento que pueda producirse al usar LINQ para mejorar la legibilidad del código.
Conversión de un bucle foreach en refactorización LINQ
Coloque el cursor en la
foreach
palabra clave.Presione Ctrl+ para activar el menú Acciones rápidas y refactorizaciones.
Seleccione Convertir a LINQ o Convertir a Linq (formulario de llamada).
Código de ejemplo
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;
}
}
}