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.
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 |
|
SkipWhile |
Přeskočí prvky, dokud prvek nesplňuje podmínku na základě predikátu funkce. |
Nelze použít |
Skip While |
|
Přijmout |
Prvky trvá až do zadaného umístění v posloupnosti. |
Nelze použít |
Take |
|
TakeWhile |
Trvá dokud prvek nesplňuje podmínku na základě predikátu funkce prvky. |
Nelze použít |
Take While |
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)