Слияние двух списков. Ошибка "Индекс должен находиться в границах этого списка" - 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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы