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
Informações
O tópico solicitado está sendo mostrado abaixo. No entanto, este tópico não está incluído nesta biblioteca.

Método Enumerable.Concat<TSource>

Concatena duas sequências.

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

public static IEnumerable<TSource> Concat<TSource>(
	this IEnumerable<TSource> first,
	IEnumerable<TSource> second
)

Parâmetros de tipo

TSource

O tipo dos elementos das sequências de entrada.

Parâmetros

first
Tipo: System.Collections.Generic.IEnumerable<TSource>
A primeira sequência para concatenar.
second
Tipo: System.Collections.Generic.IEnumerable<TSource>
A sequência para concatenar à primeira sequência.

Valor de retorno

Tipo: System.Collections.Generic.IEnumerable<TSource>
IEnumerable<T> que contém os elementos concatenados das duas sequências de entrada.

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 em C#).

ExceçãoCondição
ArgumentNullException

first ou second é uma referência nula (Nothing no Visual Basic).

Esse método é implementado usando a execução diferida. O valor de retorno imediato é 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 seja enumerado chamando o método de GetEnumerator diretamente ou usando foreach em Visual C# ou For Each em Visual Basic.

O método de Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) difere do método de Union como o método de Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) retorna todos os elementos originais nas sequências de entrada. Os elementos exclusivos do método retornará apenas de Union .

O exemplo de código a seguir demonstra como usar o Concat<TSource>(IEnumerable<TSource>, IEnumerable<TSource>) para concatenar duas sequências.


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

            static Pet[] GetCats()
            {
                Pet[] cats = { new Pet { Name="Barley", Age=8 },
                               new Pet { Name="Boots", Age=4 },
                               new Pet { Name="Whiskers", Age=1 } };
                return cats;
            }

            static Pet[] GetDogs()
            {
                Pet[] dogs = { new Pet { Name="Bounder", Age=3 },
                               new Pet { Name="Snoopy", Age=14 },
                               new Pet { Name="Fido", Age=9 } };
                return dogs;
            }

            public static void ConcatEx1()
            {
                Pet[] cats = GetCats();
                Pet[] dogs = GetDogs();

                IEnumerable<string> query =
                    cats.Select(cat => cat.Name).Concat(dogs.Select(dog => dog.Name));

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

            // This code produces the following output:
            //
            // Barley
            // Boots
            // Whiskers
            // Bounder
            // Snoopy
            // Fido



Uma maneira alternativa de concatenar duas sequências é construir uma coleção, por exemplo, uma matriz das sequências e aplique o método de SelectMany , passando à função do seletor de identidade. O exemplo a seguir demonstra o uso de SelectMany.


                Pet[] cats = GetCats();
                Pet[] dogs = GetDogs();

                IEnumerable<string> query =
                    new[] { cats.Select(cat => cat.Name), dogs.Select(dog => dog.Name) }
                    .SelectMany(name => name);

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

                // This code produces the following output:
                //
                // Barley
                // Boots
                // Whiskers
                // Bounder
                // Snoopy
                // Fido



.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

Mostrar:
© 2015 Microsoft