Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C中的System.ArgumentOutOfRangeException错误#_C# - Fatal编程技术网

C# C中的System.ArgumentOutOfRangeException错误#

C# C中的System.ArgumentOutOfRangeException错误#,c#,C#,所以我正试图解决这个问题,我希望能有一点了解我到底做错了什么。我试图循环遍历数组空间,并向数组allwords添加一个项,该项是字符串单词的子字符串。空格和单词的长度相同,空格中的空格按升序排列(从1开始)。不确定这是否有意义,如果没有,请告诉我,这样我可以尝试澄清一点。我一直收到错误消息:System.ArgumentOutOfRangeException:索引和长度必须引用字符串中的位置。(参数“length”)每当我运行此程序时。此外,我注意到它将运行前几个循环,但不会超过3个。我一直试图

所以我正试图解决这个问题,我希望能有一点了解我到底做错了什么。我试图循环遍历数组空间,并向数组allwords添加一个项,该项是字符串单词的子字符串。空格和单词的长度相同,空格中的空格按升序排列(从1开始)。不确定这是否有意义,如果没有,请告诉我,这样我可以尝试澄清一点。我一直收到错误消息:System.ArgumentOutOfRangeException:索引和长度必须引用字符串中的位置。(参数“length”)每当我运行此程序时。此外,我注意到它将运行前几个循环,但不会超过3个。我一直试图修复它几个小时都没有用,所以感谢您的关注

我还尝试了for和while循环,以回应评论

string[] allwords = new string[wordcount];
  allwords[0] = words.Substring(0, Array.IndexOf(spaces, 1));
    while (k<(wordcount))
    {
       int u = Array.IndexOf(spaces, k);
       int o = Array.IndexOf(spaces, (k+1));
       allwords[k] = words.Substring(u, o);
       k++;
    }
    allwords[(wordcount-1)] = words.Substring(Array.IndexOf(spaces, wordcount), spaces.Length);
string[]allwords=新字符串[wordcount];
allwords[0]=words.Substring(0,Array.IndexOf(spaces,1));

虽然(KI会建议使用for for循环而不是),但是看起来你传递给子字符串的值是错误的。你做过任何调试吗?在循环中放置一个断点并跟随执行。你应该考虑这两种情况:1)如果<代码>单词< /代码>没有空格,行2下的所有代码不应该在那里;2) 如果
单词
只有一个空格。不应执行
while
循环中的代码。那么您可以避免异常。我建议使用for循环而不是while。看起来您传递给子字符串的值是错误的。你做过调试吗?在循环中放置断点并跟随执行。您应该考虑这两种情况:1)如果代码>单词< /代码>没有空格,则行2下的所有代码不应该存在;2) 如果
单词
只有一个空格。不应执行
while
循环中的代码。那么你可以避免这个例外。