Concat
This is a C# extension method. With it we take 2 IEnumerable
collections. We then get a collection with all of the elements together.
This extension method effectively concatenates sequences. We can combine Lists or arrays (and even different IEnumerables
) together.
In this program, we include the System.Linq
namespace to get access to the Concat
method. Two arrays are created upon execution of the Main
method.
Concat
method twice, in different orders, and display the results.Concat
method might be useful.using System; using System.Linq; int[] array1 = { 1, 3, 5 }; int[] array2 = { 0, 2, 4 }; // Concat array1 and array2. var result1 = array1.Concat(array2); foreach (int value in result1) { Console.WriteLine(value); } Console.WriteLine(); // Concat array2 and then array1. var result2 = array2.Concat(array1); foreach (int value in result2) { Console.WriteLine(value); }1 3 5 0 2 4 0 2 4 1 3 5
List
exampleTo use Concat
, we must have 2 collections that implement IEnumerable
. This includes the List
type or the array type.
List
and an array or two Lists. The element type (string
) of both collections must be the same.Concat
returns an IEnumerable
type. The "var
result" in the code is of that type.IEnumerable
back into a List
with the ToList
extension method.using System; using System.Collections.Generic; using System.Linq; List<string> list1 = new List<string>(); list1.Add("dot"); list1.Add("net"); List<string> list2 = new List<string>(); list2.Add("perls"); list2.Add("!"); var result = list1.Concat(list2); List<string> resultList = result.ToList(); foreach (var entry in resultList) { Console.WriteLine(entry); }dot net perls !
If you have two Lists, you can use the Concat
method to combine them. For optimal performance, however, using a method such as AddRange
would be better if you need a List
result.
Much like string.Concat
concatenates strings, the Concat
extension concatenates collections. Whenever we need to combine two arrays into a third array, we use the Concat
extension method.