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.
Rozdělení na části v LINQ odkazuje na operaci rozdělení vstupní posloupnosti do dvou částí, aniž by se přeuspořádaly prvky, a následné vrácení jedné části.
Následující obrázek ukazuje výsledky tří různých operací částění na sekvenci znaků. První operace vrátí první tři prvky v sekvenci. Druhá operace přeskočí první tři prvky a vrátí zbývající prvky. Třetí operace přeskočí první dva prvky v sekvenci a vrátí další tři prvky.
Metody operátorů standardního dotazu, které rozdělují sekvence, jsou uvedeny v následující části.
Operátoři
| Název operátoru | Popis | Syntaxe výrazů dotazu jazyka Visual Basic | Další informace |
|---|---|---|---|
| Přeskočit | Přeskočí prvky až na zadanou pozici v sekvenci. | Skip |
Enumerable.Skip Queryable.Skip |
| Přeskočit dokud | Přeskočí prvky založené na predikátové funkci, dokud prvek nesplňuje podmínku. | Skip While |
Enumerable.SkipWhile Queryable.SkipWhile |
| Vezměte | Přebírá prvky až do zadané pozice v sekvenci. | Take |
Enumerable.Take Queryable.Take |
| Chvíli trvat | Přebírá prvky založené na predikát funkce, dokud prvek nesplňuje podmínku. | Take While |
Enumerable.TakeWhile Queryable.TakeWhile |
| Blok dat | Rozdělí prvky sekvence na bloky zadané maximální velikosti. | Enumerable.Chunk Queryable.Chunk |
Příklady syntaxe výrazů dotazů
Přeskočit
Následující příklad kódu používá klauzuli Skip v jazyce Visual Basic k přeskočení prvních čtyř řetězců v poli řetězců před vrácením zbývajících řetězců 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
Přeskočit dokud
Následující příklad kódu používá klauzuli Skip While v jazyce Visual Basic k přeskočení řetězců v poli, zatímco první písmeno řetězce je "a". Zbývající řetězce v poli 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
Vezměte
Následující příklad kódu používá klauzuli Take v jazyce Visual Basic k vrácení prvních dvou řetězců v poli ř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
Chvíli trvat
Následující příklad kódu používá klauzuli Take While v jazyce Visual Basic a vrací řetězce z pole, pokud délka řetězce je nejvýše pět.
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