【发布时间】:2013-10-20 20:46:55
【问题描述】:
我总是出错:
.exe 中出现“System.IndexOutOfRangeException”类型的未处理异常 附加信息:索引超出了数组的范围。
public List<SomeObject> hCL = new List<SomeObject>();
SomeObject[] cl_ = clients.GetCLValue(1, 1);
for (int i = 1; i <= 5; i++)
{
SomeObject[] c = clients.GetCLValue(1, i).ToArray();
c[i].LanguageId = i;
hCL.Add(c[i]);
}
GetCLValue 返回数据列表,但我无法将这些数据移动到数组 为什么这些错误总是出现? c# 不应该创建可以存储数据的新对象吗?
【问题讨论】:
-
集合是基于零的。
-
如何根据工作规范使收集非零
-
为什么让它们非零基?为什么不使用从零开始的索引?
-
很难理解您的代码中的预期逻辑,请您尝试解释一下您想要做什么?
-
好的,那么请在
SomeObject[] c = clients.GetCLValue(1, i).ToArray();和c[i].LanguageId = i;之间添加以下行Console.WriteLine("Array size: {0}; Index: {1}", c.Lenght, i)并显示输出
标签: c# arrays list error-handling