Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Método Enumerable.Empty<TResult>

Retorna IEnumerable<T> vazio que tem o argumento do tipo especificado.

Namespace:  System.Linq
Assembly:  System.Core (em System.Core.dll)

public static IEnumerable<TResult> Empty<TResult>()

Parâmetros de tipo

TResult

O tipo a ser atribuído ao parâmetro de tipo de IEnumerable<T>genérico retornado.

Valor de retorno

Tipo: System.Collections.Generic.IEnumerable<TResult>
IEnumerable<T> vazia cujo argumento de tipo é TResult.

O método de Empty<TResult>() armazena em cachê uma sequência vazia do tipo TResult. Quando o objeto é enumerado que retorna, ele não gerencie nenhum elemento.

Em alguns casos, esse método é útil para transmitir uma sequência vazia para um método definido pelo usuário que obtém IEnumerable<T>. Também pode ser usado para gerar um elemento neutro para métodos como o Union. Consulte a seção de exemplo para obter um exemplo desse uso de Empty<TResult>().

O exemplo de código a seguir demonstra como usar Empty<TResult>() para gerar IEnumerable<T>vazia.


IEnumerable<decimal> empty = Enumerable.Empty<decimal>();


O exemplo de código a seguir demonstra um aplicativo que o método de Empty<TResult>() . O método de Aggregate é aplicado a uma coleção de matrizes de cadeia de caracteres. Os elementos de cada coleção na matriz são adicionados a IEnumerable<T> resultante apenas se essa matriz contém quatro ou mais elementos. Empty<TResult> é usado para gerar o valor de semente para Aggregate como se nenhuma coleção na matriz tem quatro ou mais elementos, somente a sequência vazia será retornada.


            string[] names1 = { "Hartono, Tommy" };
            string[] names2 = { "Adams, Terry", "Andersen, Henriette Thaulow",
                                  "Hedlund, Magnus", "Ito, Shu" };
            string[] names3 = { "Solanki, Ajay", "Hoeing, Helge",
                                  "Andersen, Henriette Thaulow",
                                  "Potra, Cristina", "Iallo, Lucio" };

            List<string[]> namesList =
                new List<string[]> { names1, names2, names3 };

            // Only include arrays that have four or more elements
            IEnumerable<string> allNames =
                namesList.Aggregate(Enumerable.Empty<string>(),
                (current, next) => next.Length > 3 ? current.Union(next) : current);

            foreach (string name in allNames)
            {
                Console.WriteLine(name);
            }

            /*
             This code produces the following output:

             Adams, Terry
             Andersen, Henriette Thaulow
             Hedlund, Magnus
             Ito, Shu
             Solanki, Ajay
             Hoeing, Helge
             Potra, Cristina
             Iallo, Lucio
            */



.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

.NET para aplicativos da Windows Store

Com suporte em: Windows 8

.NET para aplicativos do Windows Phone

Com suporte em: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft