继续获取System.IndexOutOfRangeException:'索引超出数组的范围。'

时间:2018-10-06 20:21:01

标签: c#

我正在尝试编写进入网页并输入文本的代码,并对其进行了编码,但是当我加载所需的文本并单击“开始”时,我得到了System.IndexOutOfRangeException:'索引超出了数组的范围。” 错误。这是我的代码:

        for (int index = 0; index < this.Messages.Count; index = checked(index + 1))
        {
            string[] str = this.Messages[index].Split(new char[]
            {
                ':'
            });

            using (HttpRequest req = new HttpRequest()) // am using xNet here and below
            {
                req.UserAgent = Http.ChromeUserAgent();
                req.Cookies = new CookieDictionary(false);
                req.Proxy = null;
                req.IgnoreProtocolErrors = true;
                req.AddParam("message-user", str[0]);
                req.AddParam("message-wall", str[1]); //this is where the error occurs

有人可以帮我解决这个问题吗?谢谢。

2 个答案:

答案 0 :(得分:1)

如果任何消息不包含冒号,就会发生这种情况。您需要检查数组的长度,即。

req.AddParam("message-wall", str.Length > 1 ? str[1] : String.Empty);

答案 1 :(得分:0)

您应该检查是否有':'字符。如果您的Message [index]没有任何':',则数组中只会得到一个字符串。 看一下这个示例测试,可以随意进行分叉/修改:https://dotnetfiddle.net/qvwu0U

相关问题