Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta refaktoryzacja dotyczy następujących elementów:
- C#
Co: Umożliwia łatwe konwertowanie pętli foreach , która używa IEnumerable na zapytanie LINQ lub formularz wywołania LINQ (znany również jako metoda LINQ).
Kiedy: Masz pętlę foreach, która używa IEnumerable i chcesz, aby ta pętla odczytywała jako zapytanie LINQ.
Dlaczego: Wolisz używać składni LINQ, a nie pętli foreach. LINQ tworzy zapytanie w konstrukcji języka pierwszej klasy w języku C#. LINQ może zmniejszyć ilość kodu w pliku, ułatwić odczytywanie kodu i umożliwić różnym źródłom danych posiadanie podobnych wzorców wyrażeń zapytań.
Uwaga
Składnia LINQ jest zwykle mniej wydajna niż pętla foreach. Warto zdawać sobie sprawę z wszelkich kompromisów w zakresie wydajności, które mogą wystąpić podczas korzystania z LINQ w celu poprawy czytelności kodu.
Konwertowanie pętli foreach na refaktoryzację LINQ
Umieść kursor w słowie
foreach
kluczowym.Naciśnij Ctrl+., aby wyzwolić menu Szybkie akcje i refaktoryzacje.
Wybierz pozycję Konwertuj na LINQ lub Konwertuj na Linq (formularz wywołania).
Przykładowy kod
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;
}
}
}