2014-06-30 38 views
0

我想从数据的大串,我有一子,但是当我使用这条线:子串索引越界,即使指数<string.length减

string output = datastring.substring(0, datastring.Length-1) 

它告诉我索引超出范围(“索引和长度必须指向字符串中的位置”)。

这工作就好了,这样outputstring打印出的同样的事情datastring

while (index < datastring.Length) 
     { 
      outputstring += datastring[index]; 
      index++; 
     } 

然而,这给了我一个错误:

if (index + 10 < datastring.Length) 
{ 
     if (datastring.substring(index, index+10) == "name") 
     { 
      outputstring += " found instance of 'name'"; 

     }  

} 

它说,该指数超出的界限。当我已经检查了指数+10在范围内时,如何在第二个“if”语句中超出指数范围?

回答

0

这是.substring(offset, length),而不是.substring(startOffset, endOffset)

而不是

datastring.substring(index, index+10) 

使用

datastring.substring(index, 10)