# HG changeset patch # User Ivo Smits # Date 1373976153 -7200 # Node ID f553f6e0a3965ccb7fb5f883419da267efbc44be # Parent 15ddb1e0e2a505e56d54489e7b37732b529dd45e ArrayUtil: added Merge function to merge ILists diff -r 15ddb1e0e2a5 -r f553f6e0a396 Util/ArrayUtil.cs --- a/Util/ArrayUtil.cs Tue Jul 16 13:16:04 2013 +0200 +++ b/Util/ArrayUtil.cs Tue Jul 16 14:02:33 2013 +0200 @@ -65,6 +65,17 @@ } return ret; } + public static T[] Merge(params IList[] parts) { + int count = 0; + foreach (IList segment in parts) count += segment.Count; + T[] ret = new T[count]; + int offset = 0; + foreach (IList segment in parts) { + segment.CopyTo(ret, offset); + offset += segment.Count; + } + return ret; + } public static Boolean Equal(T[] a, T[] b, IEqualityComparer comparer) { if (ReferenceEquals(a, b)) return true; if (a == null || b == null) return false;