Operatori di partizione in LINQ

Dividi una sequenza di input in due sezioni separate senza riorganizzare gli elementi della sequenza e quindi restituirne uno.

Operatore Descrizione Sintassi delle espressioni di query C # Sintassi delle espressioni di query VB
Salta Salta un numero specificato di elementi all'interno di una sequenza e restituisce quelli rimanenti Non applicabile Salta
SkipWhile Uguale a quello di Skip con la sola eccezione che il numero di elementi da saltare è specificato da una condizione booleana Non applicabile Salta mentre
Prendere Prendi un numero specificato di elementi da una sequenza e salta quelli rimanenti Non applicabile Prendere
TakeWhile Uguale a quello di Take tranne per il fatto che il numero di elementi da prendere è specificato da una condizione booleana Non applicabile Prendi tempo

Esempio di salto - Espressione di query

VB

Module Module1

   Sub Main()
   
      Dim words = {"once", "upon", "a", "time", "there", "was", "a", "jungle"}

      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)
         Console.WriteLine(str)
      Next
	  
      Console.ReadLine()
	  
   End Sub
  
End Module

Quando il codice sopra in VB viene compilato ed eseguito, produce il seguente risultato:

there
was
a
jungle

Esempio di Skip While - Espressione di query

VB

Module Module1

   Sub Main()
   
      Dim words = {"once", "upon", "a", "time", "there", "was", "a", "jungle"}

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

      Dim sb As New System.Text.StringBuilder()
	  
      For Each str As String In query
         sb.AppendLine(str)
         Console.WriteLine(str)
      Next 
	  
      Console.ReadLine()
   End Sub
  
End Module

Quando il codice sopra in VB viene compilato ed eseguito, produce il seguente risultato:

once
upon
a
was
a
jungle

Esempio di Take - Query Expression

VB

Module Module1

   Sub Main()
   
      Dim words = {"once", "upon", "a", "time", "there", "was", "a", "jungle"}

      Dim query = From word In words 
                  Take 3 

      Dim sb As New System.Text.StringBuilder()
	  
      For Each str As String In query
         sb.AppendLine(str)
         Console.WriteLine(str)
      Next 
	  
      Console.ReadLine()
	  
   End Sub
   
End Module

Quando il codice sopra in VB viene compilato ed eseguito, produce il seguente risultato:

once
upon
a

Esempio di Take While - Espressione di query

VB

Module Module1

   Sub Main()
   
      Dim words = {"once", "upon", "a", "time", "there", "was", "a", "jungle"}

      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)
         Console.WriteLine(str)
      Next
	  
      Console.ReadLine()
	  
   End Sub
   
End Module

Quando il codice sopra in VB viene compilato ed eseguito, produce il seguente risultato:

once
upon
a
time
there
was
a