Enumerable.Skip(IEnumerable<TSource>, Int32) Enumerable.Skip(IEnumerable<TSource>, Int32) Enumerable.Skip(IEnumerable<TSource>, Int32) Enumerable.Skip(IEnumerable<TSource>, Int32) Method

Definição

Ignora um número especificado de elementos em uma sequência e retorna os elementos restantes.Bypasses a specified number of elements in a sequence and then returns the remaining elements.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<TSource> ^ Skip(System::Collections::Generic::IEnumerable<TSource> ^ source, int count);
public static System.Collections.Generic.IEnumerable<TSource> Skip<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, int count);
static member Skip : seq<'Source> * int -> seq<'Source>
<Extension()>
Public Function Skip(Of TSource) (source As IEnumerable(Of TSource), count As Integer) As IEnumerable(Of TSource)

Parâmetros de tipo

TSource

O tipo dos elementos de source.The type of the elements of source.

Parâmetros

source
IEnumerable<TSource>

Um IEnumerable<T> do qual os elementos serão retornados.An IEnumerable<T> to return elements from.

count
Int32 Int32 Int32 Int32

O número de elementos a serem ignorados antes de retornar os elementos restantes.The number of elements to skip before returning the remaining elements.

Retornos

IEnumerable<TSource>

Um IEnumerable<T> que contém os elementos que ocorrem após o índice especificado na sequência de entrada.An IEnumerable<T> that contains the elements that occur after the specified index in the input sequence.

Exceções

Exemplos

O exemplo de código a seguir demonstra como usar Skip para ignorar um número especificado de elementos em uma matriz classificada e retornar os elementos restantes.The following code example demonstrates how to use Skip to skip a specified number of elements in a sorted array and return the remaining elements.

int[] grades = { 59, 82, 70, 56, 92, 98, 85 };

IEnumerable<int> lowerGrades =
    grades.OrderByDescending(g => g).Skip(3);

Console.WriteLine("All grades except the top three are:");
foreach (int grade in lowerGrades)
{
    Console.WriteLine(grade);
}

/*
 This code produces the following output:

 All grades except the top three are:
 82
 70
 59
 56
*/
' Create an array of integers that represent grades.
Dim grades() As Integer = {59, 82, 70, 56, 92, 98, 85}

' Sort the numbers in descending order and
' get all but the first (largest) three numbers.
Dim lowerGrades As IEnumerable(Of Integer) =
grades _
.OrderByDescending(Function(g) g) _
.Skip(3)

' Display the results.
Dim output As New System.Text.StringBuilder("All grades except the top three are:" & vbCrLf)
For Each grade As Integer In lowerGrades
    output.AppendLine(grade)
Next
MsgBox(output.ToString())

' This code produces the following output:
'
' All grades except the top three are:
' 82
' 70
' 59
' 56

Comentários

Esse método é implementado usando a execução adiada.This method is implemented by using deferred execution. O imediata valor retornado é um objeto que armazena todas as informações necessárias para executar a ação.The immediate return value is an object that stores all the information that is required to perform the action. A consulta representada por esse método não é executada até que o objeto é enumerado chamando-se suas GetEnumerator método diretamente ou usando foreach no Visual c# ou For Each no Visual Basic.The query represented by this method is not executed until the object is enumerated either by calling its GetEnumerator method directly or by using foreach in Visual C# or For Each in Visual Basic.

Se source contiver menos count elementos, vazia IEnumerable<T> é retornado.If source contains fewer than count elements, an empty IEnumerable<T> is returned. Se count é menor ou igual a zero, todos os elementos de source são gerados.If count is less than or equal to zero, all elements of source are yielded.

O Take e Skip métodos são complementa funcional.The Take and Skip methods are functional complements. Dada uma determinada sequência coll e um número inteiro n, concatenando os resultados de coll.Take(n) e coll.Skip(n) produz a mesma sequência que coll.Given a sequence coll and an integer n, concatenating the results of coll.Take(n) and coll.Skip(n) yields the same sequence as coll.

Na sintaxe de expressão de consulta do Visual Basic, uma Skip cláusula se traduz em uma invocação de Skip.In Visual Basic query expression syntax, a Skip clause translates to an invocation of Skip.

Aplica-se a

Veja também