反转整数列表

时间:2017-12-14 18:16:21

标签: c#

我有以下代码。我有一个整数列表,并创建了另一个listB,它将以相反的顺序从listA获取整数。但是,在编译之后我得到了“ArgumentOutOfRangeException”。我不明白为什么我得到这个,因为我相信我的索引看起来没问题。

        List<int> listNum = new List<int> { 1, 2, 3, 4 };
        listNum.Add(7);

        List<int> reverseList = new List<int>();

        int k = 0;
        int ListLength = listNum.Count-1;

        for (int i = ListLength; i >= 0; i--)
        {
            reverseList[k] = listNum[i];
            k++;
        }

2 个答案:

答案 0 :(得分:3)

有直接方法Enumerable.Reverse,您可以按照以下方式执行

listNum .Reverse()

代码就像这样

  for (int i = ListLength -1; i >= 0; i--)
     reverseList.Add( listNum[i]);

只是为了获取信息List它不是数组

答案 1 :(得分:1)

这是因为reverseList有0个元素。 要解决这个问题,你可以在下面进行for循环 reverseList[k].Add(listNum[i]);

或简单使用linq

reverseList = listNum.Reverse();