谁能解释为什么我收到此ArgumentOutOfRangeException?

时间:2019-11-23 03:27:50

标签: c# algorithm exception

我正在尝试对hackerrank进行超级挑战,我基本上已经找到了一种算法,但是由于某种原因,我在我的while循环中抛出了ArgumentOutOfRangeException。我希望有人可以向我解释是什么原因造成的。 :)

static void sockMerchant(int n, int[] ar)
    {
        List<List<int>> pairs = new List<List<int>>();
        List<int> newAr = new List<int>();

        foreach (int item in ar)
        {
            newAr.Add(item);
        }

        for (int x = 0; x < newAr.Count; x++)
        {
            pairs.Add(new List<int>());
            pairs[x].Add(newAr[0]);
            newAr.RemoveAt(0);

            for (int y = 0; y < newAr.Count; y++)
            {
                Console.WriteLine(pairs[x][0]);
                Console.WriteLine(newAr[y]);
                try
                {
                    while (pairs[x][0] == newAr[y])
                    {
                        pairs[x].Add(newAr[y]);
                        newAr.RemoveAt(y);
                    }
                }
                catch (ArgumentOutOfRangeException e)
                {
                    Console.WriteLine(e);
                }
            }
        }
    }

0 个答案:

没有答案