向数组中添加元素
static int[] AddArray1(int[] array, int index1, int value1)
{
if (index1 >= array.Length)
index1 = array.Length - 1;
int[] _array = new int[array.Length + 1];
for (int i = 0; i < _array.Length; i++)
{
if (index1 >= 0)
{
if (i < index1 + 1)
_array[i] = array[i];
else if (i == index1 + 1)
_array[i] = value1;
else
_array[i] = array[i - 1];
}
else
{
if (i == 0)
_array[i] = value1;
else
_array[i] = array[i - 1];
}
}
return _array;
}
向数组中添加数组
static int[] AddArray2(int[] arrayB, int[] arrayAdd, int index2)
{
if (index2 >= arrayB.Length)
index2 = arrayB.Length - 1;
int[] newArray = new int[arrayB.Length + arrayAdd.Length];
for(int i = 0; i < newArray.Length; i++)
{
if (index2 >= 0)
{
if (i < index2 + 1)
newArray[i] = arrayB[i];
else if (i == index2 + 1)
{
for (int j = 0; j < arrayAdd.Length; j++)
{
newArray[i + j] = arrayAdd[j];
}
i = i + arrayAdd.Length - 1;
}
else
newArray[i] = arrayB[i - arrayAdd.Length];
}
else
{
if(i == 0)
{
for (int j = 0; j < arrayAdd.Length; j++)
{
newArray[i + j] = arrayAdd[j];
i = i + arrayAdd.Length - 1;
}
}
else
{
newArray[i] = arrayB[i - arrayAdd.Length];
}
}
}
return newArray;
}
测试
static void Main(string[] args)
{
//原始数组
int[] array = new int[] { 1, 2, 3, 4, 5, 6, 7, 7 };
foreach (int i in array)
Console.Write(i + " ");
Console.WriteLine();
//添加的数组
int[] arrayAdd = new int[] { 7, 6, 5, 4, 3, 2, 1 };
//数组加入元素
array = AddArray1(array, 3, 45);
foreach (int i in array)
Console.Write(i + " ");
//数组加入数组
//array = AddArray2(array, arrayAdd, 5);
//foreach (int i in array)
//Console.Write(i + " ");
Console.ReadLine();
}