using System;
class ArrayUtils {
public static bool copyInsert<T>(T e, int idx, T[] src, T[] target) {
if(target.Length < src.Length+1)
return false;
for(int i=0, j=0; i < src.Length; i++, j++) {
if(i == idx) {
target[j] = e;
j++;
}
target[j] = src[i];
}
return true;
}
}
class Test {
public static void Main() {
int[] nums = { 1, 2, 3 };
int[] nums2 = new int[4];
Console.Write("Contents of nums: ");
foreach(int x in nums)
Console.Write(x + " ");
Console.WriteLine();
ArrayUtils.copyInsert(99, 2, nums, nums2);
Console.Write("Contents of nums2: ");
foreach(int x in nums2)
Console.Write(x + " ");
Console.WriteLine();
string[] strs = { "Generics", "are", "powerful."};
string[] strs2 = new string[4];
Console.Write("Contents of strs: ");
foreach(string s in strs)
Console.Write(s + " ");
Console.WriteLine();
ArrayUtils.copyInsert("in C#", 1, strs, strs2);
Console.Write("Contents of strs2: ");
foreach(string s in strs2)
Console.Write(s + " ");
}
}
|