Слияние двух списков. Ошибка "Индекс должен находиться в границах этого списка" - C#
Формулировка задачи:
Есть метод слияния двух списков List<int> один.
Например,подаю на вход первый список 27 42 -26 -12 -10 и второй список -45 -12 24 36 46.
Но выдает экзепшн,мол индекс должен находиться в границах этого списка. При том,индекс не отрицательный, не равен/больше количества элементов.
Подскажите пожалуйста,в чем проблема и что я делаю не так?
private List<int> MergeArrays(List<int> firstArray, List<int> secondArray)
{
List<int> result = new List<int>();
result.AddRange(firstArray);
for (int i = 0; i < secondArray.Count; i++)
{
for (int j = 0; j < result.Count-1 ; j++)
{
if (secondArray[i] < result[j])
result.Insert(secondArray[i], j);
if (secondArray[i] == result[j])
result.Insert(secondArray[i], j);
if (secondArray[i] > result[j] && secondArray[i] < result[j + 1])
{
result.Insert(secondArray[i], j );
}
if (secondArray[i] > result[j] && secondArray[i] > result[j + 1])
{
int h = i;
while((h==result.Count-1)&&secondArray[i]>result[h])
{ h++; }
result.Insert(secondArray[i], h );
}
}
}
return result;
}Решение задачи: «Слияние двух списков. Ошибка "Индекс должен находиться в границах этого списка"»
textual
Листинг программы
if (secondArray[i] < result[j]) result.Insert(secondArray[i], j);