Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Visual Studio poskytuje několik refaktoringů pro převod mezi smyčkami a výrazy LINQ. K těmto refaktoringům se dostanete prostřednictvím nabídky Rychlé akce a refaktoring (Ctrl+.).
Převod smyčky for na příkaz foreach
Applies to: C# Visual Basic
Tento refaktoring převede smyčku for na příkaz foreach . Je užitečné, když jako index nepotřebujete proměnnou smyčky a chcete kód zjednodušit.
Poznámka:
Refaktoring Akce převodu na foreach je k dispozici pouze pro smyčky, které obsahují všechny tři části: inicializátor, podmínku a iterátor.
Umístěte stříšku do klíčového
forslova.Stiskněte ctrl+nebo klikněte na
na okraji souboru kódu.
Vyberte Převést na foreach. Nebo výběrem možnosti Náhled změn otevřete dialogové okno Náhled změn a pak vyberte Použít.
Převod příkazu foreach na smyčku for
Applies to: C# Visual Basic
Tento refaktoring převede příkaz foreach na smyčku for . Je užitečné, když potřebujete proměnnou smyčky použít pro více než jen přístup k položkám nebo při iterování prostřednictvím multidimenzionálního pole.
Umístěte stříšku do klíčového
foreachslova neboFor Eachdo něj.Stiskněte ctrl+nebo klikněte na
na okraji souboru kódu.
Vyberte Převést na for. Nebo výběrem možnosti Náhled změn otevřete dialogové okno Náhled změn a pak vyberte Použít.
Vzhledem k tomu, že refaktoring zavádí novou proměnnou počtu iterací, zobrazí se pole Přejmenovat v pravém horním rohu editoru. Pokud chcete pro proměnnou zvolit jiný název, zadejte ho a stiskněte Enter nebo vyberte Použít v poli Přejmenovat . Pokud nechcete zvolit nový název, stiskněte klávesu Esc nebo vyberte Použít a zavřete pole Přejmenovat .
Poznámka:
Pro jazyk C# kód vygenerovaný těmito refaktoringy používá explicitní typ nebo var pro typ položek v kolekci. Typ vygenerovaného kódu, explicitní nebo implicitní, závisí na nastavení stylu kódu, která jsou v oboru. Tato konkrétní nastavení stylu kódu jsou nakonfigurována na úrovni počítače v části Nástroje>Možnosti>textového editoru>C#>Styl> kóduObecné'var>' předvolby nebo na úrovni řešení v souboru EditorConfig. Pokud změníte nastavení stylu kódu v možnostech, znovu otevřete soubor kódu, aby se změny projevily.
Převod smyčky foreach na LINQ
Platí pro: C#
Tento refaktoring převede smyčku foreach , která používá IEnumerable na dotaz LINQ nebo formulář volání LINQ (označovaný také jako metoda LINQ).
Poznámka:
Syntaxe LINQ je obvykle méně efektivní než smyčka foreach. Je dobré vědět o jakémkoli kompromisu z hlediska výkonu, ke kterému může dojít, když použijete LINQ ke zlepšení čitelnosti kódu.
Umístěte kurzor do klíčového
foreachslova.
Stisknutím klávesy Ctrl+. aktivujte nabídku Rychlé akce a refaktoringy.
Vyberte Převést na LINQ nebo Převést na Linq (formulář volání).
Ukázkový kód
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;
}
}
}
Převod příkazu LINQ na foreach
Applies to: C# Visual Basic
Tento refaktoring převede syntaxi dotazu LINQ na příkaz foreach .
Vyberte celý dotaz LINQ začínající na
from.Poznámka:
Tento refaktoring lze použít pouze k převodu dotazů LINQ vyjádřených syntaxí dotazu, nikoli syntaxí metody.
Stiskněte ctrl+nebo klikněte na ikonu
na okraji souboru kódu.
Vyberte Převést na foreach. Nebo výběrem možnosti Náhled změn otevřete dialogové okno Náhled změn a pak vyberte Použít.
Poznámka:
V jazyce C# kód vygenerovaný těmito refaktoringy používá explicitní typ nebo var pro proměnnou iterace smyčky foreach . Typ vygenerovaného kódu, explicitní nebo implicitní, závisí na nastavení stylu kódu, která jsou v oboru. Tato konkrétní nastavení stylu kódu jsou nakonfigurována na úrovni počítače v části Nástroje>Možnosti>textového editoru>C#>Styl> kóduObecné'var>' předvolby nebo na úrovni řešení v souboru EditorConfig. Pokud změníte nastavení stylu kódu v možnostech, znovu otevřete soubor kódu, aby se změny projevily.
Zjednodušení výrazu LINQ
Platí pro: C#
Tento refaktoring zjednodušuje výskyty SomeEnumerableType.Where(<LambdaExpression>).Single()SomeEnumerable.Single(<LambdaExpression>) pro Enumerable.Single() a také následující výčtové metody: SingleOrDefault(), Last(), LastOrDefault(), Any(), , Count()First()a FirstOrDefault().
Odebrání nepotřebného volání výčtu pro metodu .Where() zlepšuje čitelnost a v některých případech výkon.
Umístěte kurzor do instance
SomeEnumerableType.Where(<LambdaExpression>).Single()v Visual Studio.Stisknutím klávesy Ctrl+. aktivujte nabídku Rychlé akce a refaktoringy.
Vyberte Zjednodušit výraz LINQ.