Concatenation in LINQ
Performs concatenation of two sequences and is quite similar to the Union operator in terms of its operation except of the fact that this does not remove duplicates.
Operator | Description | C# Query Expression Syntax | VB Query Expression Syntax |
---|---|---|---|
Concat | Two sequences are concatenated for the formation of a single one sequence. | Not Applicable | Not Applicable |
Example of Concat - Enumerable.Concat(Of TSource) Method
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
When the above code in C# or VB is compiled and executed, it produces the following result −
Barley Boots Whiskers Bounder Snoopy Fido Press any key to continue.
linq_query_operators.htm
Advertisements
To Continue Learning Please Login
Login with Google