Concaténation dans LINQ

Effectue la concaténation de deux séquences et est assez similaire à l'opérateur de l'Union en termes de son fonctionnement, sauf que cela ne supprime pas les doublons.

Opérateur La description Syntaxe d'expression de requête C # Syntaxe d'expression de requête VB
Concat Deux séquences sont concaténées pour la formation d'une seule séquence. N'est pas applicable N'est pas applicable

Exemple de Concat - Méthode Enumerable.Concat (Of TSource)

C #

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

namespace Operators {
   class Concat {
      static void Main(string[] args) {
      
         Pet[] cats = GetCats();
         Pet[] dogs = GetDogs();

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

         foreach (var e in query) {
            Console.WriteLine("Name = {0} ", e);
         }

         Console.WriteLine("\nPress any key to continue.");
         Console.ReadKey();
      }

      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;
      }
   }

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

VB

Module Module1

   Sub Main()

      Dim cats As List(Of Pet) = GetCats()
      Dim dogs As List(Of Pet) = GetDogs()

      Dim list = cats.Cast(Of Pet)().Concat(dogs.Cast(Of Pet)()).ToList()

      For Each e In list
         Console.WriteLine("Name = {0}", e.Name)
      Next

      Console.WriteLine(vbLf & "Press any key to continue.")
      Console.ReadKey()
	  
   End Sub

   Function GetCats() As List(Of Pet)

      Dim cats As New List(Of Pet)

         cats.Add(New Pet With {.Name = "Barley", .Age = 8})
         cats.Add(New Pet With {.Name = "Boots", .Age = 4})
         cats.Add(New Pet With {.Name = "Whiskers", .Age = 1})

      Return cats
	  
   End Function

   Function GetDogs() As List(Of Pet)

      Dim dogs As New List(Of Pet)

         dogs.Add(New Pet With {.Name = "Bounder", .Age = 3})
         dogs.Add(New Pet With {.Name = "Snoopy", .Age = 14})
         dogs.Add(New Pet With {.Name = "Fido", .Age = 9})

      Return dogs
	  
   End Function

   Class Pet
      Public Property Name As String
      Public Property Age As Integer
   End Class
   
End Module

Lorsque le code ci-dessus en C # ou VB est compilé et exécuté, il produit le résultat suivant -

Barley 
Boots 
Whiskers 
Bounder 
Snoopy 
Fido

Press any key to continue.