Merging arrays or collections implementing IEnumerable can be useful at times.
For example,consider two integer arrays of equal length .
LINQ's zip can be used to merge them(the elements are added(merged) along their indices)
mergedNumbers will now have the new elements { 6, 8, 10, 12 }
But what if we want to merge Multiple Arrays and not just two? The Zip method only works with two sequences and not more than that.Ok so is there a way around?.Yes when you combine Aggregate and Zip together, you have what you need.
But first off you need to store all of the arrays on a single List
LINQ
mergedNumbers will now have 11,14,17,20 after merging all three arrays.
This LINQ will merge any number of Arrays and will produce a single array.
The word Merging is quite broad and can take different meanings,depending on the type of elements you have in the collection.If you are running this same operation on arrays of strings,it is going to give a different meaning to the output.
CodeIgnoto
For example,consider two integer arrays of equal length .
int[] numArrOne = new int[] { 1, 2, 3, 4 }; int[] numArrTwo = new int[] { 5, 6, 7, 8 };
LINQ's zip can be used to merge them(the elements are added(merged) along their indices)
mergedNumbers will now have the new elements { 6, 8, 10, 12 }
But what if we want to merge Multiple Arrays and not just two? The Zip method only works with two sequences and not more than that.Ok so is there a way around?.Yes when you combine Aggregate and Zip together, you have what you need.
But first off you need to store all of the arrays on a single List
int[] numArrOne = new int[] { 1, 2, 3, 4 }; int[] numArrTwo = new int[] { 5, 6, 7, 8 }; int[] numArrThree = new int[] { 5, 6, 7, 8 };
List<int[]> numberStore = new List<int[]>() { numArrOne, numArrTwo, numArrThree };
LINQ
mergedNumbers will now have 11,14,17,20 after merging all three arrays.
This LINQ will merge any number of Arrays and will produce a single array.
The word Merging is quite broad and can take different meanings,depending on the type of elements you have in the collection.If you are running this same operation on arrays of strings,it is going to give a different meaning to the output.
CodeIgnoto