Home
C#
Concat Extension: Combine Lists and Arrays
This page was last reviewed on Mar 28, 2024.
Dot Net Perls
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.
Shows an arrayShows a list
This extension method effectively concatenates sequences. We can combine Lists or arrays (and even different IEnumerables) together.
IEnumerable
Example. 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.
Then We call the Concat method twice, in different orders, and display the results.
Tip If you have ever needed to write custom code to combine two arrays or Lists into a single one, the Concat method might be useful.
List
Note This might cause some performance degradation because of the flexibility and implementation of the extension methods.
Extension
Shows an array
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 example. To use Concat, we must have 2 collections that implement IEnumerable. This includes the List type or the array type.
Info You can combine a List and an array or two Lists. The element type (string) of both collections must be the same.
Return Concat returns an IEnumerable type. The "var result" in the code is of that type.
Also You can convert an IEnumerable back into a List with the ToList extension method.
ToList
Shows a list
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 !
Summary. 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.
string.Concat
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Mar 28, 2024 (edit).
Home
Changes
© 2007-2024 Sam Allen.