日期:2014-05-18  浏览次数:20956 次

textbox提示索引和长度必须引用该字符串内的位置,参数length(在线等答复)
C# code


string Version="V0.{0}";            
string temp=status.Substring(9,2);                        
int  temp1=Convert.ToInt32(temp,16);                        
string temp2=temp1.ToString();                        
string CheckCmd = string.Format(Version,temp2);                        
ARMVer.Text=CheckCmd;                        
ARMVer.Refresh();




为何总是报错呢,提示说是:索引和长度必须引用该字符串内的位置,参数length
搞不懂???

------解决方案--------------------
是这一行报错的吗,
ARMVer.Text=CheckCmd;
字符串赋值应该没有问题呀
------解决方案--------------------
或者说status变量的长度不够9个
------解决方案--------------------
是这里的错误——string temp=status.Substring(9,2);
你怎么能保证那个字符串有足够9位?
------解决方案--------------------
status.Substring(9,2); 中9太大了,或者9+2太大了,大于等于字符串status的长度了。
------解决方案--------------------
Substring(9,2); //第一个参数表示从第八位开始截取,第二个参数表示截取的长度 

如果你的字符不够9位(从第八位开始 长度为2 就表示截取的是第八位和第九位) 则会报错