Megosztás a következőn keresztül:


Adatok particionálása (Visual Basic)

A LINQ particionálása azt jelenti, hogy egy bemeneti sorozatot két szakaszra kell osztani anélkül, hogy átrendezné az elemeket, majd visszaadja az egyik szakaszt.

Az alábbi ábra három különböző particionálási művelet eredményeit mutatja be egy karaktersorozaton. Az első művelet a sorozat első három elemét adja vissza. A második művelet kihagyja az első három elemet, és visszaadja a fennmaradó elemeket. A harmadik művelet kihagyja a sorozat első két elemét, és a következő három elemet adja vissza.

Három LINQ particionálási műveletet bemutató ábra.

A partíciósorozatok szabványos lekérdezési operátori módszereit az alábbi szakaszban találja.

Működtetők

Operátor neve Leírás Visual Basic Query Expression Szintaxis További információ
Kihagyás Kihagyja az elemeket egy adott pozícióig a sorozatban. Skip Enumerable.Skip

Queryable.Skip
SkipWhile Kihagyja a predikátumfüggvényen alapuló elemeket, amíg egy elem nem felel meg a feltételnek. Skip While Enumerable.SkipWhile

Queryable.SkipWhile
Vesz Az elemeket egy megadott pozícióig választja ki egy sorozatban. Take Enumerable.Take

Queryable.Take
TakeWhile függvény Predikátumfüggvényen alapuló elemeket vesz fel, amíg egy elem nem felel meg a feltételnek. Take While Enumerable.TakeWhile

Queryable.TakeWhile
Adattömb A sorozat elemeit egy megadott maximális méretű adattömbökre osztja fel. Enumerable.Chunk
Queryable.Chunk

Lekérdezési kifejezés szintaxisa – példák

Kihagyás

Az alábbi példakód a Skip Visual Basic záradékával lépi át az első négy sztringet egy sztringtömbben, mielőtt visszaadja a tömb többi sztringét.


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

Az alábbi példakód a Skip While Visual Basic záradékával lépi át a tömb sztringeit, míg a sztring első betűje "a". A tömb fennmaradó elemei vissza lesznek adva.


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

Vesz

Az alábbi példakód a Take Visual Basic záradékával adja vissza az első két sztringet egy sztringtömbben.


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 függvény

Az alábbi példakód a Visual Basic záradékát használja egy Take While tömb sztringjeinek visszaadására, míg a sztring hossza öt vagy kevesebb.


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

Lásd még