Operadores de partición en LINQ

Divida una secuencia de entrada en dos secciones separadas sin reorganizar los elementos de la secuencia y luego devolver uno de ellos.

Operador Descripción Sintaxis de expresión de consulta de C # Sintaxis de expresión de consulta de VB
Omitir Omite un número específico de elementos dentro de una secuencia y devuelve los restantes No aplica Omitir
SkipWhile Igual que el de Skip con la única excepción de que el número de elementos para omitir se especifica mediante una condición booleana No aplica Saltar mientras
Tomar Tome un número específico de elementos de una secuencia y omita los restantes No aplica Tomar
TakeWhile Igual que el de Take, excepto el hecho de que el número de elementos a tomar se especifica mediante una condición booleana No aplica Tómese un tiempo

Ejemplo de omisión: expresión de consulta

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

Cuando se compila y ejecuta el código anterior en VB, produce el siguiente resultado:

there
was
a
jungle

Ejemplo de omitir mientras: expresión de consulta

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

Cuando se compila y ejecuta el código anterior en VB, produce el siguiente resultado:

once
upon
a
was
a
jungle

Ejemplo de toma: expresión de consulta

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

Cuando se compila y ejecuta el código anterior en VB, produce el siguiente resultado:

once
upon
a

Ejemplo de Take While - Expresión de consulta

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

Cuando se compila y ejecuta el código anterior en VB, produce el siguiente resultado:

once
upon
a
time
there
was
a