【发布时间】:2019-10-05 09:58:19
【问题描述】:
我构建了以下程序,但出现超出范围错误。基本上我想将值从一个列表复制到另一个列表(从a 到b):
List<int> a = new List<int> { 99, 2, 3, 4, 5, 6 };
List<int> b = new List<int>(6);
for ( int i = 0; i < a.ToArray().Length; i++ )
{
a[i].ToString().Insert(0, b[i].ToString());
}
for ( int i = 0; i < a.ToArray().Length; i++ )
{
Console.WriteLine(b[i]);
}
Console.ReadKey();
【问题讨论】:
-
uzytkownik1是空的...ToArray()在这里没用。 -
我更改了列表引用的名称以帮助眼睛看到错误:o)
-
你不应该打电话给
ToString(),因为你有一个List<int>而不是List<string>- 删除两个ToString()电话。您甚至不必编写此代码。只需使用b.AddRange(a); -
将您的第一个
a.ToArray().Length更改为a.Count。我怀疑将第二个更改为b.Count。 -
请不要破坏任何内容,包括您自己的内容。
标签: c# list debugging indexing indexoutofrangeexception