Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Refactoring gilt für:
- C#
Was: Ermöglicht das einfache Konvertieren der foreach-Schleife , die IEnumerable verwendet, in eine LINQ-Abfrage oder ein LINQ-Aufrufformular (auch als LINQ-Methode bezeichnet).
Wann: Sie verfügen über eine foreach-Schleife, die IEnumerable verwendet, und Sie möchten, dass diese Schleife als LINQ-Abfrage gelesen wird.
Warum: Sie bevorzugen die Verwendung der LINQ-Syntax anstelle einer foreach-Schleife. LINQ verwandelt eine Abfrage in ein erstklassiges Sprachkonstrukt in C#. LINQ kann die Menge an Code in einer Datei reduzieren, den Code leichter lesbar machen und zulassen, dass verschiedene Datenquellen ähnliche Abfrageausdrucksmuster aufweisen.
Hinweis
Die LINQ-Syntax ist in der Regel weniger effizient als eine foreach-Schleife. Es ist gut, sich über Leistungseinbußen im Klaren zu sein, die auftreten können, wenn Sie LINQ verwenden, um die Lesbarkeit Ihres Codes zu verbessern.
Konvertieren einer foreach-Schleife in LINQ-Umgestaltung
Platzieren Sie den Cursor in dem
foreach
Schlüsselwort.Drücken Sie die Strg-Taste+, um das Menü Schnellaktionen und Refactorings aufzurufen.
Wählen Sie In LINQ konvertieren oder In Linq konvertieren (Aufrufformular) aus.
Beispielcode
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;
}
}
}