IEnumerable<T> Interface

Definição

Expõe o enumerador, que suporta uma iteração simples sobre uma coleção de um tipo especificado.

generic <typename T>
public interface class IEnumerable : System::Collections::IEnumerable
public interface IEnumerable<out T> : System.Collections.IEnumerable
public interface IEnumerable<T> : System.Collections.IEnumerable
type seq<'T> = interface
    interface IEnumerable
Public Interface IEnumerable(Of Out T)
Implements IEnumerable
Public Interface IEnumerable(Of T)
Implements IEnumerable

Parâmetros de Tipo Genérico

T

O tipo de objetos a enumerar.

Este parâmetro de tipo é covariante. Ou seja, pode utilizar o tipo que especificou ou qualquer tipo que seja mais derivado. Para obter mais informações sobre covariância e contravariância, veja Covariância e Contravariância em Genérico.
Derivado
Implementações

Exemplos

O exemplo seguinte demonstra como implementar a IEnumerable<T> interface e como usar essa implementação para criar uma consulta LINQ. Quando implementa IEnumerable<T>, também deve implementar IEnumerator<T> ou, apenas para C#, pode usar a palavra-chave yield . A implementação IEnumerator<T> também exige IDisposable ser implementada, como verá neste exemplo.

using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

public class App
{
    // Exercise the Iterator and show that it's more
    // performant.
    public static void Main()
    {
        TestStreamReaderEnumerable();
        Console.WriteLine("---");
        TestReadingFile();
    }

    public static void TestStreamReaderEnumerable()
    {
        // Check the memory before the iterator is used.
        long memoryBefore = GC.GetTotalMemory(true);
      IEnumerable<String> stringsFound;
        // Open a file with the StreamReaderEnumerable and check for a string.
      try {
         stringsFound =
               from line in new StreamReaderEnumerable(@"c:\temp\tempFile.txt")
               where line.Contains("string to search for")
               select line;
         Console.WriteLine("Found: " + stringsFound.Count());
      }
      catch (FileNotFoundException) {
         Console.WriteLine(@"This example requires a file named C:\temp\tempFile.txt.");
         return;
      }

        // Check the memory after the iterator and output it to the console.
        long memoryAfter = GC.GetTotalMemory(false);
        Console.WriteLine("Memory Used With Iterator = \t"
            + string.Format(((memoryAfter - memoryBefore) / 1000).ToString(), "n") + "kb");
    }

    public static void TestReadingFile()
    {
        long memoryBefore = GC.GetTotalMemory(true);
      StreamReader sr;
      try {
         sr = File.OpenText("c:\\temp\\tempFile.txt");
      }
      catch (FileNotFoundException) {
         Console.WriteLine(@"This example requires a file named C:\temp\tempFile.txt.");
         return;
      }

        // Add the file contents to a generic list of strings.
        List<string> fileContents = new List<string>();
        while (!sr.EndOfStream) {
            fileContents.Add(sr.ReadLine());
        }

        // Check for the string.
        var stringsFound =
            from line in fileContents
            where line.Contains("string to search for")
            select line;

        sr.Close();
        Console.WriteLine("Found: " + stringsFound.Count());

        // Check the memory after when the iterator is not used, and output it to the console.
        long memoryAfter = GC.GetTotalMemory(false);
        Console.WriteLine("Memory Used Without Iterator = \t" +
            string.Format(((memoryAfter - memoryBefore) / 1000).ToString(), "n") + "kb");
    }
}

// A custom class that implements IEnumerable(T). When you implement IEnumerable(T),
// you must also implement IEnumerable and IEnumerator(T).
public class StreamReaderEnumerable : IEnumerable<string>
{
    private string _filePath;
    public StreamReaderEnumerable(string filePath)
    {
        _filePath = filePath;
    }

    // Must implement GetEnumerator, which returns a new StreamReaderEnumerator.
    public IEnumerator<string> GetEnumerator()
    {
        return new StreamReaderEnumerator(_filePath);
    }

    // Must also implement IEnumerable.GetEnumerator, but implement as a private method.
    private IEnumerator GetEnumerator1()
    {
        return this.GetEnumerator();
    }
    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator1();
    }
}

// When you implement IEnumerable(T), you must also implement IEnumerator(T),
// which will walk through the contents of the file one line at a time.
// Implementing IEnumerator(T) requires that you implement IEnumerator and IDisposable.
public class StreamReaderEnumerator : IEnumerator<string>
{
    private StreamReader _sr;
    public StreamReaderEnumerator(string filePath)
    {
        _sr = new StreamReader(filePath);
    }

    private string _current;
    // Implement the IEnumerator(T).Current publicly, but implement
    // IEnumerator.Current, which is also required, privately.
    public string Current
    {

        get
        {
            if (_sr == null || _current == null)
            {
                throw new InvalidOperationException();
            }

            return _current;
        }
    }

    private object Current1
    {

        get { return this.Current; }
    }

    object IEnumerator.Current
    {
        get { return Current1; }
    }

    // Implement MoveNext and Reset, which are required by IEnumerator.
    public bool MoveNext()
    {
        _current = _sr.ReadLine();
        if (_current == null)
            return false;
        return true;
    }

    public void Reset()
    {
        _sr.DiscardBufferedData();
        _sr.BaseStream.Seek(0, SeekOrigin.Begin);
        _current = null;
    }

    // Implement IDisposable, which is also implemented by IEnumerator(T).
    private bool disposedValue = false;
    public void Dispose()
    {
        Dispose(disposing: true);
        GC.SuppressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        if (!this.disposedValue)
        {
            if (disposing)
            {
                // Dispose of managed resources.
            }
            _current = null;
            if (_sr != null) {
               _sr.Close();
               _sr.Dispose();
            }
        }

        this.disposedValue = true;
    }

     ~StreamReaderEnumerator()
    {
        Dispose(disposing: false);
    }
}
// This example displays output similar to the following:
//       Found: 2
//       Memory Used With Iterator =     33kb
//       ---
//       Found: 2
//       Memory Used Without Iterator =  206kb
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Linq

Public Module App
   ' Excercise the Iterator and show that it's more performant.
   Public Sub Main()
      TestStreamReaderEnumerable()
      Console.WriteLine("---")
      TestReadingFile()
   End Sub

   Public Sub TestStreamReaderEnumerable()
        ' Check the memory before the iterator is used.
        Dim memoryBefore As Long = GC.GetTotalMemory(true)
      Dim stringsFound As IEnumerable(Of String)
        ' Open a file with the StreamReaderEnumerable and check for a string.
      Try
         stringsFound =
               from line in new StreamReaderEnumerable("c:\temp\tempFile.txt")
               where line.Contains("string to search for")
               select line
         Console.WriteLine("Found: {0}", stringsFound.Count())
      Catch e As FileNotFoundException
         Console.WriteLine("This example requires a file named C:\temp\tempFile.txt.")
         Return
      End Try

        ' Check the memory after the iterator and output it to the console.
        Dim memoryAfter As Long = GC.GetTotalMemory(false)
        Console.WriteLine("Memory Used with Iterator = {1}{0} kb",
                        (memoryAfter - memoryBefore)\1000, vbTab)
   End Sub

   Public Sub TestReadingFile()
        Dim memoryBefore As Long = GC.GetTotalMemory(true)
      Dim sr As StreamReader
      Try
         sr = File.OpenText("c:\temp\tempFile.txt")
      Catch e As FileNotFoundException
         Console.WriteLine("This example requires a file named C:\temp\tempFile.txt.")
         Return
      End Try

        ' Add the file contents to a generic list of strings.
        Dim fileContents As New List(Of String)()
        Do While Not sr.EndOfStream
            fileContents.Add(sr.ReadLine())
      Loop

        ' Check for the string.
        Dim stringsFound =
            from line in fileContents
            where line.Contains("string to search for")
            select line

      sr.Close()
      Console.WriteLine("Found: {0}", stringsFound.Count())

        ' Check the memory after when the iterator is not used, and output it to the console.
        Dim memoryAfter As Long = GC.GetTotalMemory(False)
        Console.WriteLine("Memory Used without Iterator = {1}{0} kb",
                        (memoryAfter - memoryBefore)\1000, vbTab)
   End Sub
End Module

' A custom class that implements IEnumerable(T). When you implement IEnumerable(T),
' you must also implement IEnumerable and IEnumerator(T).
Public Class StreamReaderEnumerable : Implements IEnumerable(Of String)
    Private _filePath As String

    Public Sub New(filePath As String)
        _filePath = filePath
    End Sub

    ' Must implement GetEnumerator, which returns a new StreamReaderEnumerator.
    Public Function GetEnumerator() As IEnumerator(Of String) _
          Implements IEnumerable(Of String).GetEnumerator
        Return New StreamReaderEnumerator(_filePath)
    End Function

    ' Must also implement IEnumerable.GetEnumerator, but implement as a private method.
    Private Function GetEnumerator1() As IEnumerator _
          Implements IEnumerable.GetEnumerator
        Return Me.GetEnumerator()
    End Function
End Class

' When you implement IEnumerable(T), you must also implement IEnumerator(T),
' which will walk through the contents of the file one line at a time.
' Implementing IEnumerator(T) requires that you implement IEnumerator and IDisposable.
Public Class StreamReaderEnumerator : Implements IEnumerator(Of String)
    Private _sr As StreamReader

    Public Sub New(filePath As String)
        _sr = New StreamReader(filePath)
    End Sub

    Private _current As String

    ' Implement the IEnumerator(T).Current Publicly, but implement
    ' IEnumerator.Current, which is also required, privately.
    Public ReadOnly Property Current As String _
          Implements IEnumerator(Of String).Current
        Get
            If _sr Is Nothing OrElse _current Is Nothing
                Throw New InvalidOperationException()
            End If

            Return _current
        End Get
    End Property

    Private ReadOnly Property Current1 As Object _
          Implements IEnumerator.Current
        Get
           Return Me.Current
        End Get
    End Property

    ' Implement MoveNext and Reset, which are required by IEnumerator.
    Public Function MoveNext() As Boolean _
          Implements IEnumerator.MoveNext
        _current = _sr.ReadLine()
        if _current Is Nothing Then Return False

        Return True
    End Function

    Public Sub Reset() _
          Implements IEnumerator.Reset
        _sr.DiscardBufferedData()
        _sr.BaseStream.Seek(0, SeekOrigin.Begin)
        _current = Nothing
    End Sub

    ' Implement IDisposable, which is also implemented by IEnumerator(T).
    Private disposedValue As Boolean = False
    Public Sub Dispose() _
          Implements IDisposable.Dispose
        Dispose(disposing:=True)
        GC.SuppressFinalize(Me)
    End Sub

    Protected Overridable Sub Dispose(disposing As Boolean)
        If Not Me.disposedValue Then
            If disposing Then
                ' Dispose of managed resources.
            End If

            _current = Nothing
            If _sr IsNot Nothing Then
               _sr.Close()
               _sr.Dispose()
            End If
        End If

        Me.disposedValue = True
    End Sub

    Protected Overrides Sub Finalize()
        Dispose(disposing:=False)
    End Sub
End Class
' This example displays output similar to the following:
'       Found: 2
'       Memory Used With Iterator =     33kb
'       ---
'       Found: 2
'       Memory Used Without Iterator =  206kb

Observações

IEnumerable<T> é a interface base para coleções no System.Collections.Generic espaço de nomes como List<T>, Dictionary<TKey,TValue>, e Stack<T> outras coleções genéricas como ObservableCollection<T> e ConcurrentStack<T>. As coleções que implementam IEnumerable<T> podem ser enumeradas usando a foreach instrução.

Para a versão não genérica desta interface, veja System.Collections.IEnumerable.

IEnumerable<T> contém um único método que deve implementar ao implementar esta interface; GetEnumerator, que devolve um IEnumerator<T> objeto. O retorno IEnumerator<T> permite iterar pela coleção expondo uma Current propriedade.

Notas para Implementadores

Para se manter compatível com métodos que iteram coleções não genéricas, IEnumerable<T> implementa IEnumerable. Isto permite que uma coleção genérica seja passada a um método que espera um IEnumerable objeto.

Métodos

Name Description
GetEnumerator()

Devolve um enumerador que itera pela coleção.

Métodos da Extensão

Name Description
Aggregate<TSource,TAccumulate,TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>, Func<TAccumulate,TResult>)

Aplica uma função acumuladora sobre uma sequência. O valor semente especificado é usado como valor inicial do acumulador, e a função especificada é usada para selecionar o valor do resultado.

Aggregate<TSource,TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate,TSource,TAccumulate>)

Aplica uma função acumuladora sobre uma sequência. O valor semente especificado é usado como valor inicial do acumulador.

Aggregate<TSource>(IEnumerable<TSource>, Func<TSource,TSource,TSource>)

Aplica uma função acumuladora sobre uma sequência.

All<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Determina se todos os elementos de uma sequência satisfazem uma condição.

Ancestors<T>(IEnumerable<T>, XName)

Devolve uma coleção filtrada de elementos que contém os antepassados de cada nó na coleção fonte. Apenas os elementos que têm correspondência XName são incluídos na coleção.

Ancestors<T>(IEnumerable<T>)

Devolve uma coleção de elementos que contém os antepassados de cada nó na coleção de código-fonte.

Any<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Determina se algum elemento de uma sequência satisfaz uma condição.

Any<TSource>(IEnumerable<TSource>)

Determina se uma sequência contém algum elemento.

Append<TSource>(IEnumerable<TSource>, TSource)

Acrescenta um valor ao final da sequência.

AsEnumerable<TSource>(IEnumerable<TSource>)

Retorna a entrada digitada como IEnumerable<T>.

AsParallel(IEnumerable)

Permite a paralelização de uma consulta.

AsParallel<TSource>(IEnumerable<TSource>)

Permite a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable para um IQueryable.

AsQueryable<TElement>(IEnumerable<TElement>)

Converte um genérico IEnumerable<T> num genérico IQueryable<T>.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Calcula a média de uma sequência de Decimal valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Calcula a média de uma sequência de Double valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Calcula a média de uma sequência de Int32 valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Calcula a média de uma sequência de Int64 valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Calcula a média de uma sequência de valores anuláveis Decimal que são obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Calcula a média de uma sequência de valores anuláveis Double que são obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Calcula a média de uma sequência de valores anuláveis Int32 que são obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Calcula a média de uma sequência de valores anuláveis Int64 que são obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Calcula a média de uma sequência de valores anuláveis Single que são obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Average<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Calcula a média de uma sequência de Single valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Cast<TResult>(IEnumerable)

Conjura os elementos de an IEnumerable para o tipo especificado.

Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Concatena duas sequências.

Contains<TSource>(IEnumerable<TSource>, TSource, IEqualityComparer<TSource>)

Determina se uma sequência contém um elemento especificado usando um .IEqualityComparer<T>

Contains<TSource>(IEnumerable<TSource>, TSource)

Determina se uma sequência contém um elemento especificado usando o comparador de igualdade padrão.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Copia DataRow objetos para o especificado DataTable, dado um objeto de entrada IEnumerable<T> onde o parâmetro T genérico é DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Copia DataRow objetos para o especificado DataTable, dado um objeto de entrada IEnumerable<T> onde o parâmetro T genérico é DataRow.

CopyToDataTable<T>(IEnumerable<T>)

Devolve a DataTable que contém cópias dos DataRow objetos, dado um objeto de entrada IEnumerable<T> onde o parâmetro T genérico é DataRow.

Count<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve um número que representa quantos elementos na sequência especificada satisfazem uma condição.

Count<TSource>(IEnumerable<TSource>)

Devolve o número de elementos numa sequência.

DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)

Devolve os elementos da sequência especificada ou o valor especificado numa coleção singleton se a sequência estiver vazia.

DefaultIfEmpty<TSource>(IEnumerable<TSource>)

Devolve os elementos da sequência especificada ou o valor padrão do parâmetro de tipo numa coleção singleton se a sequência estiver vazia.

DescendantNodes<T>(IEnumerable<T>)

Devolve uma coleção dos nós descendentes de cada documento e elemento da coleção de origem.

Descendants<T>(IEnumerable<T>, XName)

Devolve uma coleção filtrada de elementos que contém os elementos descendentes de cada elemento e documento da coleção de origem. Apenas os elementos que têm correspondência XName são incluídos na coleção.

Descendants<T>(IEnumerable<T>)

Devolve uma coleção de elementos que contém os elementos descendentes de cada elemento e documento da coleção fonte.

Distinct<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Devolve elementos distintos de uma sequência usando um especificado IEqualityComparer<T> para comparar valores.

Distinct<TSource>(IEnumerable<TSource>)

Devolve elementos distintos de uma sequência usando o comparador de igualdade padrão para comparar valores.

ElementAt<TSource>(IEnumerable<TSource>, Int32)

Devolve o elemento num índice especificado numa sequência.

ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32)

Devolve o elemento num índice especificado numa sequência ou um valor padrão se o índice estiver fora do intervalo.

Elements<T>(IEnumerable<T>, XName)

Devolve uma coleção filtrada dos elementos filhos de cada elemento e documento da coleção de origem. Apenas os elementos que têm correspondência XName são incluídos na coleção.

Elements<T>(IEnumerable<T>)

Devolve uma coleção dos elementos filhos de cada elemento e documento da coleção de origem.

Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produz a diferença de conjuntos de duas sequências usando o especificado IEqualityComparer<T> para comparar valores.

Except<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produz a diferença de conjuntos de duas sequências usando o comparador de igualdade por defeito para comparar valores.

First<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve o primeiro elemento numa sequência que satisfaz uma condição especificada.

First<TSource>(IEnumerable<TSource>)

Devolve o primeiro elemento de uma sequência.

FirstOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve o primeiro elemento da sequência que satisfaz uma condição ou um valor padrão se tal elemento não for encontrado.

FirstOrDefault<TSource>(IEnumerable<TSource>)

Devolve o primeiro elemento de uma sequência, ou um valor padrão se a sequência não contiver elementos.

GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)

Agrupa os elementos de uma sequência de acordo com uma função seletora de teclas especificada e cria um valor de resultado a partir de cada grupo e da sua chave. Os valores-chave são comparados usando um comparador especificado, e os elementos de cada grupo são projetados usando uma função especificada.

GroupBy<TSource,TKey,TElement,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, Func<TKey,IEnumerable<TElement>,TResult>)

Agrupa os elementos de uma sequência de acordo com uma função seletora de teclas especificada e cria um valor de resultado a partir de cada grupo e da sua chave. Os elementos de cada grupo são projetados usando uma função especificada.

GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Agrupa os elementos de uma sequência de acordo com uma função seletora de tecla. As chaves são comparadas usando um comparador e os elementos de cada grupo são projetados usando uma função especificada.

GroupBy<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Agrupa os elementos de uma sequência de acordo com uma função seletora de teclas especificada e projeta os elementos para cada grupo usando uma função especificada.

GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>, IEqualityComparer<TKey>)

Agrupa os elementos de uma sequência de acordo com uma função seletora de teclas especificada e cria um valor de resultado a partir de cada grupo e da sua chave. As chaves são comparadas usando um comparador especificado.

GroupBy<TSource,TKey,TResult>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TKey,IEnumerable<TSource>,TResult>)

Agrupa os elementos de uma sequência de acordo com uma função seletora de teclas especificada e cria um valor de resultado a partir de cada grupo e da sua chave.

GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Agrupa os elementos de uma sequência de acordo com uma função seletora de teclas especificada e compara as chaves usando um comparador especificado.

GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Agrupa os elementos de uma sequência de acordo com uma função seletora de teclas especificada.

GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

Correlaciona os elementos de duas sequências com base na igualdade de chave e agrupa os resultados. Um especificado IEqualityComparer<T> é usado para comparar tonalidades.

GroupJoin<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,IEnumerable<TInner>, TResult>)

Correlaciona os elementos de duas sequências com base na igualdade das chaves e agrupa os resultados. O comparador de igualdade por defeito é usado para comparar chaves.

InDocumentOrder<T>(IEnumerable<T>)

Devolve uma coleção de nós que contém todos os nós da coleção de código-fonte, ordenados pela ordem dos documentos.

Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produz a interseção conjunta de duas sequências usando o especificado IEqualityComparer<T> para comparar valores.

Intersect<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produz a interseção conjunta de duas sequências usando o comparador de igualdade padrão para comparar valores.

Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>, IEqualityComparer<TKey>)

Correlaciona os elementos de duas sequências com base nas chaves correspondentes. Um especificado IEqualityComparer<T> é usado para comparar tonalidades.

Join<TOuter,TInner,TKey,TResult>(IEnumerable<TOuter>, IEnumerable<TInner>, Func<TOuter,TKey>, Func<TInner,TKey>, Func<TOuter,TInner,TResult>)

Correlaciona os elementos de duas sequências com base nas chaves correspondentes. O comparador de igualdade por defeito é usado para comparar chaves.

Last<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve o último elemento de uma sequência que satisfaz uma condição especificada.

Last<TSource>(IEnumerable<TSource>)

Devolve o último elemento de uma sequência.

LastOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve o último elemento de uma sequência que satisfaz uma condição ou um valor padrão se tal elemento não for encontrado.

LastOrDefault<TSource>(IEnumerable<TSource>)

Devolve o último elemento de uma sequência, ou um valor padrão se a sequência não contiver elementos.

LongCount<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve e Int64 que representa quantos elementos numa sequência satisfazem uma condição.

LongCount<TSource>(IEnumerable<TSource>)

Retorna e Int64 que representa o número total de elementos numa sequência.

Max<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Invoca uma função de transformação em cada elemento de uma sequência genérica e devolve o valor máximo resultante.

Max<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo Decimal .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo Double .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo Int32 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo Int64 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo anulável Decimal .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo anulável Double .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo anulável Int32 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo anulável Int64 .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo anulável Single .

Max<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor máximo Single .

Max<TSource>(IEnumerable<TSource>)

Devolve o valor máximo numa sequência genérica.

Min<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Invoca uma função de transformação em cada elemento de uma sequência genérica e devolve o valor mínimo resultante.

Min<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo Decimal .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo Double .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo Int32 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo Int64 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo anulável Decimal .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo anulável Double .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo anulável Int32 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo anulável Int64 .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo anulável Single .

Min<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Invoca uma função de transformação em cada elemento de uma sequência e devolve o valor mínimo Single .

Min<TSource>(IEnumerable<TSource>)

Devolve o valor mínimo numa sequência genérica.

Nodes<T>(IEnumerable<T>)

Devolve uma coleção dos nós filhos de cada documento e elemento da coleção de código-fonte.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base num tipo especificado.

OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Ordena os elementos de uma sequência por ordem crescente usando um comparador especificado.

OrderBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Ordena os elementos de uma sequência por ordem crescente de acordo com uma chave.

OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IComparer<TKey>)

Ordena os elementos de uma sequência por ordem decrescente usando um comparador especificado.

OrderByDescending<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Ordena os elementos de uma sequência por ordem decrescente de acordo com uma chave.

Prepend<TSource>(IEnumerable<TSource>, TSource)

Acrescenta um valor ao início da sequência.

Remove<T>(IEnumerable<T>)

Remove todos os nós da coleção de origem do seu nó pai.

Reverse<TSource>(IEnumerable<TSource>)

Inverte a ordem dos elementos numa sequência.

Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,TResult>)

Projeta cada elemento de uma sequência numa nova forma incorporando o índice do elemento.

Select<TSource,TResult>(IEnumerable<TSource>, Func<TSource,TResult>)

Projeta cada elemento de uma sequência numa nova forma.

SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Projeta cada elemento de uma sequência para um IEnumerable<T>, achata as sequências resultantes numa sequência e invoca uma função seletora de resultados em cada elemento nelas.

SelectMany<TSource,TCollection,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TCollection>>, Func<TSource,TCollection,TResult>)

Projeta cada elemento de uma sequência para um IEnumerable<T>, achata as sequências resultantes numa sequência e invoca uma função seletora de resultados em cada elemento nelas. O índice de cada elemento fonte é usado na forma intermédia projetada desse elemento.

SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,IEnumerable<TResult>>)

Projeta cada elemento de uma sequência para um IEnumerable<T> e achata as sequências resultantes numa sequência.

SelectMany<TSource,TResult>(IEnumerable<TSource>, Func<TSource,Int32,IEnumerable<TResult>>)

Projeta cada elemento de uma sequência para um IEnumerable<T>, e achata as sequências resultantes numa só sequência. O índice de cada elemento fonte é usado na forma projetada desse elemento.

SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Determina se duas sequências são iguais comparando os seus elementos usando um especificado IEqualityComparer<T>.

SequenceEqual<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Determina se duas sequências são iguais comparando os elementos usando o comparador de igualdade padrão para o seu tipo.

Single<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve o único elemento de uma sequência que satisfaz uma condição especificada, e lança uma exceção se existirem mais do que um desses elementos.

Single<TSource>(IEnumerable<TSource>)

Devolve o único elemento de uma sequência e lança uma exceção se não houver exatamente um elemento na sequência.

SingleOrDefault<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve o único elemento de uma sequência que satisfaz uma condição especificada ou um valor padrão se tal elemento não existir; este método lança uma exceção se mais do que um elemento satisfizerem a condição.

SingleOrDefault<TSource>(IEnumerable<TSource>)

Devolve o único elemento de uma sequência, ou um valor padrão se a sequência estiver vazia; este método lança uma exceção se houver mais do que um elemento na sequência.

Skip<TSource>(IEnumerable<TSource>, Int32)

Ignora um número especificado de elementos numa sequência e depois devolve os elementos restantes.

SkipLast<TSource>(IEnumerable<TSource>, Int32)

Devolve uma nova coleção enumerável que contém os elementos de source com os últimos count elementos da coleção fonte omitidos.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Ignora elementos numa sequência desde que uma condição especificada seja verdadeira e depois devolve os elementos restantes.

SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Ignora elementos numa sequência desde que uma condição especificada seja verdadeira e depois devolve os elementos restantes. O índice do elemento é usado na lógica da função de predicado.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Decimal>)

Calcula a soma da sequência de Decimal valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Double>)

Calcula a soma da sequência de Double valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int32>)

Calcula a soma da sequência de Int32 valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Int64>)

Calcula a soma da sequência de Int64 valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Decimal>>)

Calcula a soma da sequência de valores nulos Decimal que são obtidos ao invocar uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Double>>)

Calcula a soma da sequência de valores nulos Double que são obtidos ao invocar uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int32>>)

Calcula a soma da sequência de valores nulos Int32 que são obtidos ao invocar uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Int64>>)

Calcula a soma da sequência de valores nulos Int64 que são obtidos ao invocar uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Nullable<Single>>)

Calcula a soma da sequência de valores nulos Single que são obtidos ao invocar uma função de transformação em cada elemento da sequência de entrada.

Sum<TSource>(IEnumerable<TSource>, Func<TSource,Single>)

Calcula a soma da sequência de Single valores obtidos invocando uma função de transformação em cada elemento da sequência de entrada.

Take<TSource>(IEnumerable<TSource>, Int32)

Devolve um número especificado de elementos contíguos do início de uma sequência.

TakeLast<TSource>(IEnumerable<TSource>, Int32)

Devolve uma nova coleção enumerável que contém os últimos count elementos de source.

TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Devolve elementos de uma sequência desde que uma condição especificada seja verdadeira.

TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Devolve elementos de uma sequência desde que uma condição especificada seja verdadeira. O índice do elemento é usado na lógica da função de predicado.

ToArray<TSource>(IEnumerable<TSource>)

Cria um array a partir de um IEnumerable<T>.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Cria a Dictionary<TKey,TValue> partir de uma IEnumerable<T> função seletora de teclas especificada, um comparador e uma função seletora de elementos.

ToDictionary<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Cria um Dictionary<TKey,TValue> a partir de um IEnumerable<T> de acordo com as funções seletoras de teclas e seletores de elementos especificadas.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Cria um Dictionary<TKey,TValue> a partir de um IEnumerable<T> de acordo com uma função seletora de teclas especificada e um comparador de chaves.

ToDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Cria um Dictionary<TKey,TValue> a partir de um IEnumerable<T> de acordo com uma função seletor de teclas especificada.

ToHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Cria um HashSet<T> a partir de um IEnumerable<T> usando o comparer para comparar as chaves.

ToHashSet<TSource>(IEnumerable<TSource>)

Cria um HashSet<T> a partir de um IEnumerable<T>.

ToImmutableArray<TSource>(IEnumerable<TSource>)

Cria um array imutável a partir da coleção especificada.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>, IEqualityComparer<TValue>)

Enumera e transforma uma sequência, e produz um dicionário imutável do seu conteúdo usando os comparadores de chave e valor especificados.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IEqualityComparer<TKey>)

Enumera e transforma uma sequência, e produz um dicionário imutável do seu conteúdo usando o comparador de chaves especificado.

ToImmutableDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Enumera e transforma uma sequência, e produz um dicionário imutável do seu conteúdo.

ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Constrói um dicionário imutável baseado numa transformação de uma sequência.

ToImmutableDictionary<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Constrói um dicionário imutável a partir de uma coleção existente de elementos, aplicando uma função de transformação às chaves fonte.

ToImmutableHashSet<TSource>(IEnumerable<TSource>, IEqualityComparer<TSource>)

Enumera uma sequência, produz um conjunto de hash imutável do seu conteúdo e utiliza o comparador de igualdade especificado para o tipo de conjunto.

ToImmutableHashSet<TSource>(IEnumerable<TSource>)

Enumera uma sequência e produz um conjunto de hash imutável do seu conteúdo.

ToImmutableList<TSource>(IEnumerable<TSource>)

Enumera uma sequência e produz uma lista imutável do seu conteúdo.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>, IEqualityComparer<TValue>)

Enumera e transforma uma sequência, e produz um dicionário ordenado imutável do seu conteúdo usando os comparadores de chave e valor especificados.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>, IComparer<TKey>)

Enumera e transforma uma sequência, e produz um dicionário ordenado imutável do seu conteúdo usando o comparador de chaves especificado.

ToImmutableSortedDictionary<TSource,TKey,TValue>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TValue>)

Enumera e transforma uma sequência, produzindo um dicionário ordenado imutável do seu conteúdo.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>, IComparer<TSource>)

Enumera uma sequência, produz um conjunto ordenado imutável do seu conteúdo e utiliza o comparador especificado.

ToImmutableSortedSet<TSource>(IEnumerable<TSource>)

Enumera uma sequência e produz um conjunto ordenado imutável do seu conteúdo.

ToList<TSource>(IEnumerable<TSource>)

Cria um List<T> a partir de um IEnumerable<T>.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>)

Cria a Lookup<TKey,TElement> partir de uma IEnumerable<T> função seletora de teclas especificada, um comparador e uma função seletor de elementos.

ToLookup<TSource,TKey,TElement>(IEnumerable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>)

Cria um Lookup<TKey,TElement> a partir de um IEnumerable<T> de acordo com as funções seletoras de teclas e seletores de elementos especificadas.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>)

Cria um Lookup<TKey,TElement> a partir de um IEnumerable<T> de acordo com uma função seletora de teclas especificada e um comparador de chaves.

ToLookup<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>)

Cria um Lookup<TKey,TElement> a partir de um IEnumerable<T> de acordo com uma função seletor de teclas especificada.

Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

Produz a união de conjuntos de duas sequências usando um especificado IEqualityComparer<T>.

Union<TSource>(IEnumerable<TSource>, IEnumerable<TSource>)

Produz a união conjunta de duas sequências usando o comparador de igualdade padrão.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)

Filtra uma sequência de valores com base num predicado.

Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)

Filtra uma sequência de valores com base num predicado. O índice de cada elemento é usado na lógica da função de predicado.

Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>)

Aplica uma função especificada aos elementos correspondentes de duas sequências, produzindo uma sequência dos resultados.

Aplica-se a

Ver também