索引超出数组[duplicate]的范围

问题描述 投票:0回答:1

我正在尝试保存一个遍历10列的列表,并且我的代码引发了System.IndexOutOfRangeException

for (int i = 1; i <= 9; i++)
{
    txtIndicator = (TextBox)this.UpdatePanel1.FindControl("txtIndicator" + i);
    if (manipType.Equals("add"))
    {
        try
        {
            Databases.WeeklySurveillance iws = new Databases.WeeklySurveillance()
            {
                WeekEnding = DateTime.Parse(tmpMondayDate),
                FacilityCode = Session["facility"].ToString().Split(":".ToCharArray())[0],
                AgeGroup = iwsDataItems[i - 1].AgeGroup,
                Condition = iwsDataItems[i - 1].Condition,
                Position = i,
                Batch = 2019,
                Total = int.Parse(txtIndicator.Text),
                Description = Session["facility"].ToString().Split(":".ToCharArray())[1].Trim(),
                DateStamp = DateTime.Now
            };
            healthDC.WeeklySurveillances.Add(iws);
        }
    }
}
c# asp.net for-loop dbcontext
1个回答
0
投票

您能否更新您的问题以包括引发的异常中包含的确切索引?

快速查看您的代码,我可以发现您应该使用:

for (int i = 0; i < 9; i++)  
{

}

在循环中,也最好的做法是根据集合大小设置最大值。这样,您可以保证循环只会迭代可用的内容,而不是硬编码。

© www.soinside.com 2019 - 2024. All rights reserved.