Stack<T> Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma coleção de tamanho variável last-in-first-out (LIFO) de instâncias do mesmo tipo especificado.
generic <typename T>
public ref class Stack : System::Collections::Generic::IEnumerable<T>, System::Collections::Generic::IReadOnlyCollection<T>, System::Collections::ICollection
generic <typename T>
public ref class Stack : System::Collections::Generic::IEnumerable<T>, System::Collections::ICollection
public class Stack<T> : System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class Stack<T> : System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public class Stack<T> : System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection
public class Stack<T> : System.Collections.Generic.IEnumerable<T>, System.Collections.ICollection
type Stack<'T> = class
interface seq<'T>
interface IEnumerable
interface IReadOnlyCollection<'T>
interface ICollection
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type Stack<'T> = class
interface seq<'T>
interface ICollection
interface IEnumerable
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type Stack<'T> = class
interface seq<'T>
interface IEnumerable
interface ICollection
interface IReadOnlyCollection<'T>
type Stack<'T> = class
interface seq<'T>
interface ICollection
interface IEnumerable
Public Class Stack(Of T)
Implements ICollection, IEnumerable(Of T), IReadOnlyCollection(Of T)
Public Class Stack(Of T)
Implements ICollection, IEnumerable(Of T)
Parâmetros de Tipo Genérico
- T
Especifica o tipo de elementos na pilha.
- Herança
-
Stack<T>
- Atributos
- Implementações
Exemplos
O exemplo de código seguinte demonstra vários métodos da Stack<T> classe genérica. O exemplo do código cria uma pilha de strings com capacidade padrão e usa o Push método para empurrar cinco strings para a pilha. Os elementos da pilha são enumerados, o que não altera o estado da pilha. O Pop método é usado para soltar a primeira corda da pilha. O Peek método é usado para olhar para o próximo item da pilha, e depois o Pop método é usado para o retirar.
O ToArray método é usado para criar um array e copiar os elementos da pilha para ele, depois o array é passado para o Stack<T> construtor que recebe IEnumerable<T>, criando uma cópia da pilha com a ordem dos elementos invertida. Os elementos da cópia são exibidos.
É criado um array com o dobro do tamanho da pilha, e o CopyTo método é usado para copiar os elementos do array começando no meio do array. O Stack<T> construtor é usado novamente para criar uma cópia da pilha com a ordem dos elementos invertida; assim, os três elementos nulos estão no final.
O Contains método é usado para mostrar que a cadeia "quatro" está na primeira cópia da pilha, após a qual o Clear método limpa a cópia e a Count propriedade mostra que a pilha está vazia.
using System;
using System.Collections.Generic;
class Example
{
public static void Main()
{
Stack<string> numbers = new Stack<string>();
numbers.Push("one");
numbers.Push("two");
numbers.Push("three");
numbers.Push("four");
numbers.Push("five");
// A stack can be enumerated without disturbing its contents.
foreach( string number in numbers )
{
Console.WriteLine(number);
}
Console.WriteLine("\nPopping '{0}'", numbers.Pop());
Console.WriteLine("Peek at next item to destack: {0}",
numbers.Peek());
Console.WriteLine("Popping '{0}'", numbers.Pop());
// Create a copy of the stack, using the ToArray method and the
// constructor that accepts an IEnumerable<T>.
Stack<string> stack2 = new Stack<string>(numbers.ToArray());
Console.WriteLine("\nContents of the first copy:");
foreach( string number in stack2 )
{
Console.WriteLine(number);
}
// Create an array twice the size of the stack and copy the
// elements of the stack, starting at the middle of the
// array.
string[] array2 = new string[numbers.Count * 2];
numbers.CopyTo(array2, numbers.Count);
// Create a second stack, using the constructor that accepts an
// IEnumerable(Of T).
Stack<string> stack3 = new Stack<string>(array2);
Console.WriteLine("\nContents of the second copy, with duplicates and nulls:");
foreach( string number in stack3 )
{
Console.WriteLine(number);
}
Console.WriteLine("\nstack2.Contains(\"four\") = {0}",
stack2.Contains("four"));
Console.WriteLine("\nstack2.Clear()");
stack2.Clear();
Console.WriteLine("\nstack2.Count = {0}", stack2.Count);
}
}
/* This code example produces the following output:
five
four
three
two
one
Popping 'five'
Peek at next item to destack: four
Popping 'four'
Contents of the first copy:
one
two
three
Contents of the second copy, with duplicates and nulls:
one
two
three
stack2.Contains("four") = False
stack2.Clear()
stack2.Count = 0
*/
open System
open System.Collections.Generic
let numbers = Stack()
numbers.Push "one"
numbers.Push "two"
numbers.Push "three"
numbers.Push "four"
numbers.Push "five"
// A stack can be enumerated without disturbing its contents.
for number in numbers do
printfn $"{number}"
printfn $"\nPopping '{numbers.Pop()}'"
printfn $"Peek at next item to destack: {numbers.Peek()}"
numbers.Peek() |> ignore
printfn $"Popping '{numbers.Pop()}'"
// Create a copy of the stack, using the ToArray method and the
// constructor that accepts an IEnumerable<T>.
let stack2 = numbers.ToArray() |> Stack
printfn "\nContents of the first copy:"
for number in stack2 do
printfn $"{number}"
// Create an array twice the size of the stack and copy the
// elements of the stack, starting at the middle of the
// array.
let array2 = numbers.Count * 2 |> Array.zeroCreate
numbers.CopyTo(array2, numbers.Count)
// Create a second stack, using the constructor that accepts an
// IEnumerable(Of T).
let stack3 = Stack array2
printfn "\nContents of the second copy, with duplicates and nulls:"
for number in stack3 do
printfn $"{number}"
printfn
$"""
stack2.Contains "four" = {stack2.Contains "four"}"""
printfn "\nstack2.Clear()"
stack2.Clear()
printfn $"\nstack2.Count = {stack2.Count}"
// This code example produces the following output:
// five
// four
// three
// two
// one
//
// Popping 'five'
// Peek at next item to destack: four
// Popping 'four'
//
// Contents of the first copy:
// one
// two
// three
//
// Contents of the second copy, with duplicates and nulls:
// one
// two
// three
//
// stack2.Contains("four") = False
//
// stack2.Clear()
//
// stack2.Count = 0
Imports System.Collections.Generic
Module Example
Sub Main
Dim numbers As New Stack(Of String)
numbers.Push("one")
numbers.Push("two")
numbers.Push("three")
numbers.Push("four")
numbers.Push("five")
' A stack can be enumerated without disturbing its contents.
For Each number As String In numbers
Console.WriteLine(number)
Next
Console.WriteLine(vbLf & "Popping '{0}'", numbers.Pop())
Console.WriteLine("Peek at next item to pop: {0}", _
numbers.Peek())
Console.WriteLine("Popping '{0}'", numbers.Pop())
' Create another stack, using the ToArray method and the
' constructor that accepts an IEnumerable(Of T). Note that
' the order of items on the new stack is reversed.
Dim stack2 As New Stack(Of String)(numbers.ToArray())
Console.WriteLine(vbLf & "Contents of the first copy:")
For Each number As String In stack2
Console.WriteLine(number)
Next
' Create an array twice the size of the stack, compensating
' for the fact that Visual Basic allocates an extra array
' element. Copy the elements of the stack, starting at the
' middle of the array.
Dim array2((numbers.Count * 2) - 1) As String
numbers.CopyTo(array2, numbers.Count)
' Create a second stack, using the constructor that accepts an
' IEnumerable(Of T). The elements are reversed, with the null
' elements appearing at the end of the stack when enumerated.
Dim stack3 As New Stack(Of String)(array2)
Console.WriteLine(vbLf & _
"Contents of the second copy, with duplicates and nulls:")
For Each number As String In stack3
Console.WriteLine(number)
Next
Console.WriteLine(vbLf & "stack2.Contains(""four"") = {0}", _
stack2.Contains("four"))
Console.WriteLine(vbLf & "stack2.Clear()")
stack2.Clear()
Console.WriteLine(vbLf & "stack2.Count = {0}", _
stack2.Count)
End Sub
End Module
' This code example produces the following output:
'
'five
'four
'three
'two
'one
'
'Popping 'five'
'Peek at next item to pop: four
'Popping 'four'
'
'Contents of the first copy:
'one
'two
'three
'
'Contents of the second copy, with duplicates and nulls:
'one
'two
'three
'
'
'
'
'stack2.Contains("four") = False
'
'stack2.Clear()
'
'stack2.Count = 0
Observações
Stack<T> é implementado como um array.
Stacks e filas são úteis quando precisas de armazenamento temporário para informação; isto é, quando pode querer descartar um elemento depois de recuperar o seu valor. Use, Queue<T> se precisar, aceder à informação pela mesma ordem em que está armazenada na coleção. Usa System.Collections.Generic.Stack<T> se precisares de aceder à informação por ordem inversa.
Usa os System.Collections.Concurrent.ConcurrentStack<T> tipos e System.Collections.Concurrent.ConcurrentQueue<T> quando precisares de aceder à coleção de múltiplos threads em simultâneo.
Uma utilização comum de System.Collections.Generic.Stack<T> é preservar estados de variáveis durante chamadas a outros procedimentos.
Podem ser realizadas três operações principais sobre um System.Collections.Generic.Stack<T> e os seus elementos:
A capacidade de a Stack<T> é o número de elementos que Stack<T> podem dever. À medida que elementos são adicionados a um Stack<T>, a capacidade é automaticamente aumentada conforme necessário ao realocar o array interno. A capacidade pode ser reduzida chamando TrimExcess.
Se Count for menor do que a capacidade da pilha, Push é uma operação O(1). Se a capacidade tiver de ser aumentada para acomodar o novo elemento, Push torna-se uma operação O(n), onde n é Count.
Pop é uma operação O(1).
Stack<T> aceita null como um valor válido para tipos de referência e permite elementos duplicados.
Construtores
| Name | Description |
|---|---|
| Stack<T>() |
Inicializa uma nova instância da Stack<T> classe que está vazia e tem a capacidade inicial padrão. |
| Stack<T>(IEnumerable<T>) |
Inicializa uma nova instância da Stack<T> classe que contém elementos copiados da coleção especificada e tem capacidade suficiente para acomodar o número de elementos copiados. |
| Stack<T>(Int32) |
Inicializa uma nova instância da Stack<T> classe que está vazia e tem a capacidade inicial especificada ou a capacidade inicial padrão, o que for maior. |
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de elementos contidos no Stack<T>. |
Métodos
| Name | Description |
|---|---|
| Clear() |
Remove todos os objetos do Stack<T>. |
| Contains(T) |
Determina se um elemento pertence ao Stack<T>. |
| CopyTo(T[], Int32) |
Copia o Stack<T> para uma unidimensional Arrayexistente , começando no índice especificado do array. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Devolve um enumerador para o Stack<T>. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| Peek() |
Devolve o objeto no topo do Stack<T> sem o remover. |
| Pop() |
Remove e devolve o objeto no topo do Stack<T>. |
| Push(T) |
Insere um objeto no topo do Stack<T>. |
| ToArray() |
Copia para Stack<T> um novo array. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| TrimExcess() |
Define a capacidade para o número real de elementos no Stack<T>, se esse número for inferior a 90 por cento da capacidade atual. |
| TryPeek(T) |
Devolve um valor que indica se existe um objeto no topo do Stack<T>, e se houver um, copia-o para o |
| TryPop(T) |
Devolve um valor que indica se existe um objeto no topo do Stack<T>, e se houver um, copia-o para o |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia os elementos do ICollection para um Array, começando num índice particular Array . |
| ICollection.IsSynchronized |
Recebe um valor que indica se o acesso ao ICollection é sincronizado (thread safe). |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao ICollection. |
| IEnumerable.GetEnumerator() |
Devolve um enumerador que itera numa coleção. |
| IEnumerable<T>.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 |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Copia DataRow objetos para o especificado DataTable, dado um objeto de entrada IEnumerable<T> onde o parâmetro |
| 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 |
| 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 |
| 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 |
| 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 |
| 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
Segurança de Thread
Os membros estáticos públicos (Shared em Visual Basic) deste tipo são seguros para threads. Qualquer membro de instância não é garantido que seja seguro contra threads.
A Stack<T> pode suportar múltiplos leitores em simultâneo, desde que a coleção não seja modificada. Ainda assim, enumerar através de uma coleção não é, intrinsecamente, um procedimento seguro para threads. Para garantir a segurança da linha durante a enumeração, pode bloquear a coleção durante toda a enumeração. Para permitir que a coleção seja acedida por múltiplos threads para leitura e escrita, deve implementar a sua própria sincronização.