Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce refactoring s’applique à :
- C#
Quoi: Vous permet de convertir facilement votre boucle foreach qui utilise un IEnumerable en une requête LINQ ou un formulaire d’appel LINQ (également appelé méthode LINQ).
Quand: Vous disposez d’une boucle foreach qui utilise un IEnumerable et vous souhaitez que cette boucle soit lue en tant que requête LINQ.
Pourquoi: Vous préférez utiliser la syntaxe LINQ plutôt qu’une boucle foreach. LINQ transforme une requête en une construction de langage de première classe en C#. LINQ peut réduire la quantité de code dans un fichier, faciliter la lecture du code et permettre à différentes sources de données d’avoir des modèles d’expression de requête similaires.
Remarque
La syntaxe LINQ est généralement moins efficace qu’une boucle foreach. Il est bon d’être conscient de tout compromis de performances qui peut se produire lorsque vous utilisez LINQ pour améliorer la lisibilité de votre code.
Convertir une boucle foreach en refactorisation LINQ
Placez votre curseur dans le mot-clé
foreach
.Appuyez sur Ctrl+pour lancer le menu Actions rapides et refactorisations.
Sélectionnez Convertir en LINQ ou Convertir en Linq (formulaire d’appel).
Exemple de code
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;
}
}
}