发生了'System.IndexOutOfRangeException'类型的未处理异常。附加信息:索引超出了数组的范围

时间:2013-05-23 10:37:48

标签: c# .net indexoutofboundsexception

我的代码显示了ArrayIndexOutOfRangeException的未处理异常。

    public static DateTime storeTime(String date)
    {
        string[] dateSplit;
        string[] timeSplit;
        DateTime returnValue = new DateTime();

        if (date == "")
            return returnValue;

        dateSplit = date.Split(new Char[] { 'T' });
        timeSplit = dateSplit[1].Split(new Char[] { '+' }); // Exception occurs here.
        timeSplit[0] = timeSplit[0].Substring(0, timeSplit[0].Length - 1);
        returnValue = DateTime.ParseExact(dateSplit[0] + " " + timeSplit[0], "yyyy-MM-dd HH:mm:ss",null);

        return returnValue;

    }

1 个答案:

答案 0 :(得分:1)

您输入的参数date不包含任何字符T,因此您的拆分只会产生一个元素。因此尝试访问dateSplit [1](第二个元素)失败。您给出的索引1超出范围,只允许0,因为只有一个元素。

请注意,这是一个非常基本的错误,您可能已被拒绝,因为您应该能够自己检测到这一点。下次,按F5调试并在崩溃时检查所有变量,以便您可以自行解决问题。