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
Este tópico ainda não foi avaliado como - Avalie este tópico

Método Enumerable.DefaultIfEmpty<TSource> (IEnumerable<TSource>)

Retorna os elementos da seqüência especificada ou o valor padrão do parâmetro de tipo em uma coleção singleton se a seqüência estiver vazia.

Namespace:  System.Linq
Assembly:  System.Core (em System.Core.dll)
public static IEnumerable<TSource> DefaultIfEmpty<TSource>(
	this IEnumerable<TSource> source
)

Parâmetros de tipo

TSource

O tipo dos elementos de source.

Parâmetros

source
Tipo: System.Collections.Generic.IEnumerable<TSource>
A seqüência para retornar um valor padrão para se ele estiver vazio.

Valor de retorno

Tipo: System.Collections.Generic.IEnumerable<TSource>
Um IEnumerable<T> objeto que contém o valor padrão para o TSource digite se source está vazio. Caso contrário, source.

Observação de uso

No Visual Basic e no C#, você pode chamar esse método como um método de instância em qualquer objeto do tipo IEnumerable<TSource>. Quando você usar a sintaxe de método de instância para chamar esse método, omita o primeiro parâmetro. Para obter mais informações, consulte Métodos de extensão (Visual Basic) ou Métodos de extensão (guia de programação do C#).
ExceçãoCondição
ArgumentNullException

source é null.

Esse método é implementado usando execução retardada. A imediata retorna o valor é um objeto que armazena todas as informações necessárias para executar a ação. A consulta representada por esse método não é executada até que o objeto é enumerado ou chamando seu GetEnumerator método diretamente ou por meio de foreach na Visual C# ou For Each na Visual Basic.

O valor padrão para referência e tipos anuláveis é null.

Esse método pode ser usado para produzir uma junção externa esquerda quando ele for combinado com o GroupJoin) método.

Os exemplos de código a seguir demonstram como usar DefaultIfEmpty<TSource>(IEnumerable<TSource>) para fornecer um valor padrão caso a seqüência de origem está vazia.

Este exemplo usa uma seqüência não vazia.


            class Pet
            {
                public string Name { get; set; }
                public int Age { get; set; }
            }

            public static void DefaultIfEmptyEx1()
            {
                List<Pet> pets =
                    new List<Pet>{ new Pet { Name="Barley", Age=8 },
                                   new Pet { Name="Boots", Age=4 },
                                   new Pet { Name="Whiskers", Age=1 } };

                foreach (Pet pet in pets.DefaultIfEmpty())
                {
                    Console.WriteLine(pet.Name);
                }
            }

            /*
             This code produces the following output:

             Barley
             Boots
             Whiskers
            */



Este exemplo usa uma seqüência vazia.


            List<int> numbers = new List<int>();

            foreach (int number in numbers.DefaultIfEmpty())
            {
                Console.WriteLine(number);
            }

            /*
             This code produces the following output:

             0
            */



.NET Framework

Com suporte em: 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

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 de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.