我有以下代码。我有一个整数列表,并创建了另一个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++;
}
答案 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();