错误:索引超出了数组的范围

时间:2015-04-26 06:43:54

标签: c#

当我运行此代码时,我收到错误

  

索引超出了数组的范围。

for (var i = 9; i + 2 < lines.Length; i += 3)
        {
            Items.Add(new ItemProperties { 
                Item = lines[i],
                Description = lines[i + 1],
                Quantity = lines[i + 2],
                UnitPrice = lines[i + 3]

            });
        }

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:4)

您在循环中使用lines[i + 3],但您的检查仅确保i + 2在范围内 - 以及您使用 4 循环中的值而不是4使得它看起来应该是:

for (var i = 12; i + 3 < lines.Length; i += 4)
{
    Items.Add(new ItemProperties { 
        Item = lines[i],
        Description = lines[i + 1],
        Quantity = lines[i + 2],
        UnitPrice = lines[i + 3]
    });
}

(假设你想要开始第4项,就像以前一样 - 你应该检查你想要的i的初始值。)