Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int[] array1 = {1 ,2 ,3 ,-5 ,2 ,0 };
- int[] array2 = {1 ,2 ,3 ,-1 ,5 ,0 };
- int[] array3 = {1 ,2 ,3 ,-6 ,2 ,9 };
- Console.WriteLine(array1.Union(array2.Union(array3)).Where((x) => x >=0).Count)
- Console.WriteLine(array1.Union(array2).Union(array3).Count(x => x >= 0));
- Console.WriteLine(string.Join(",", array1.Union(array2).Union(array3).Where(x => x >= 0)));
- //Prints: 1, 2, 3, 0, 5, 9
- array1.Union(array2).Union(array3)
- var concatenated = new int[array1.Length + array2.Length + array3.Length];
- array1.CopyTo(concatenated, 0);
- array2.CopyTo(concatenated, array1.Length);
- array3.CopyTo(concatenated, array1.Length + array2.Length);
- var arr1 = new[] {1, 2, 3, -5, 2, 0};
- var arr2 = new[] {1, 2, 3, -1, 5, 0};
- var arr3 = new[] {1, 2, 3, -6, 2, 9};
- var result = arr1
- .Concat(arr2)
- .Concat(arr3)
- .Distinct()
- .Where(i => i >= 0)
- .ToArray();
- //
- //
- ///<summary>Create a new array as concatenation of all given arrays.</summary>
- public static T[] Concatenate<T>( params T[][] args ) {
- if ( null == args ) return null;
- // Get argument lengths
- var count = args.Length;
- if ( 0 == count ) return null;
- var lengths = new int[ count ];
- // Compute all and total lengths
- var total = 0;
- for ( int i = 0; i < count; i++ ) {
- lengths[ i ] = null == args[ i ] ? 0 : args[ i ].Length;
- total += lengths[ i ];
- }
- if ( 1 > total ) return null;
- // Create target array
- T[] a = new T[ total ];
- // Copy all together
- total = 0;
- for ( int i = 0; i < count; i++ ) {
- if ( null != args[ i ] ) {
- args[ i ].CopyTo( a, total );
- }
- total += lengths[ i ];
- }
- return a;
- }
Add Comment
Please, Sign In to add comment