Sdílet prostřednictvím


Segmentace dat

Rozdělení v LINQ odkazuje na operaci rozdělení vstupní sekvence do dvou oddílů bez Přeuspořádání prvků a vrácením jedné z částí.

Následující obrázek ukazuje výsledky tří různých rozdělení operací na posloupnost znaků.První operace vrátí první tři prvky v pořadí.Druhá operace vynechává první tři prvky a vrátí zbývající prvky.Třetí operace vynechává první dva prvky v pořadí a vrací další tři prvky.

LINQ – operace vytváření oddílů

V následující části jsou uvedeny metody operátor standardního dotazu, které oddíly sekvence.

Operátory

Název operátora

Description

Syntaxi výrazu dotazu C#

Visual BasicSyntaxe dotazu výraz

Další informace

přeskočit;

Přeskočí na určené pozici v pořadí prvků.

Nelze použít

Skip

Enumerable.Skip``1

Queryable.Skip``1

SkipWhile

Přeskočí prvky, dokud prvek nesplňuje podmínku na základě predikátu funkce.

Nelze použít

Skip While

Enumerable.SkipWhile

Queryable.SkipWhile``1

Přijmout

Prvky trvá až do zadaného umístění v posloupnosti.

Nelze použít

Take

Enumerable.Take``1

Queryable.Take``1

TakeWhile

Trvá dokud prvek nesplňuje podmínku na základě predikátu funkce prvky.

Nelze použít

Take While

Enumerable.TakeWhile

Queryable.TakeWhile``1

Příklady syntaxe výraz dotazu

přeskočit;

Následující kód například používá Skip v klauzuli Visual Basic přeskočit přes první čtyři řetězce do pole řetězců před návratem zbývající řetězce v poli.

Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

        Dim query = From word In words 
                    Skip 4

        Dim sb As New System.Text.StringBuilder()
        For Each str As String In query
            sb.AppendLine(str)
        Next 

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output: 

        ' keeps 
        ' the 
        ' doctor 
        ' away

SkipWhile

Následující kód například používá Skip While v klauzuli Visual Basic přeskočit přes řetězce v poli při první písmeno řetězec je "a".Zbývající pole řetězců jsou vráceny.

Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

        Dim query = From word In words 
                    Skip While word.Substring(0, 1) = "a" 

        Dim sb As New System.Text.StringBuilder()
        For Each str As String In query
            sb.AppendLine(str)
        Next 

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output: 

        ' day 
        ' keeps 
        ' the 
        ' doctor 
        ' away

Přijmout

Následující kód například používá Take v klauzuli Visual Basic vrátit první dva řetězce do pole řetězců.

Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

        Dim query = From word In words 
                    Take 2

        Dim sb As New System.Text.StringBuilder()
        For Each str As String In query
            sb.AppendLine(str)
        Next 

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output: 

        ' an 
        ' apple

TakeWhile

Následující kód například používá Take While v klauzuli Visual Basic k vrácení řetězce z pole Délka řetězce je pět nebo méně.

Dim words = {"an", "apple", "a", "day", "keeps", "the", "doctor", "away"}

        Dim query = From word In words 
                    Take While word.Length < 6

        Dim sb As New System.Text.StringBuilder()
        For Each str As String In query
            sb.AppendLine(str)
        Next 

        ' Display the results.
        MsgBox(sb.ToString())

        ' This code produces the following output: 

        ' an 
        ' apple 
        ' a 
        ' day 
        ' keeps 
        ' the

Viz také

Referenční dokumentace

Skip – klauzule (Visual Basic)

Skip While – klauzule (Visual Basic)

Take – klauzule (Visual Basic)

Take While – klauzule (Visual Basic)

System.Linq

Koncepty

Přehled standardních operátorů dotazu