超出界限 你在这行设个断点,按f10运行这行时,看path的内容是什么就明白了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么要这样来判断? indexOf Contains 你想想当判断到倒数第三个字符的时候,往后再去4个字符,那么最后一个是不是不存在,也就是超过了索引。加个判断即可private string getPath(string path) { int t; for (t = 0; t <= path.Length-4; t++) { if (path.Substring(t, 4) == "code") { break; } } } 举个例子,path="abcode“;当然你要判断字符串中是否包含某个字符串的话,string path= "abcode"; if(path.indexOf("code") >= 0 ) { //包含子字符串} else{ //不包含子字符串} 因为path中没有code,而你循环到了path.Length - 1此时后面的字符串不足4个非要你那么写,并且不出错,可以用if (path.Substring(t, 4).StartsWith("code")) c#里 字符串的索引从0开始,你的substring里指定是4 其实就是取第五个,code哪有第五个字符,所以就报异常。 这样肯定是有误的!!private string getPath(string path) { int t; for (t = 0; t < path.Length; t++) { if (path.Substring(t, 4) == "code") { break; } }假设你的path有6位,但是如果没有code这个值的话,Substring从t开始截取4为肯定是超出界限啦!!path="123456";当你的t等于3的时候就会出错了!!为什么不使用indexOf呢??这样又不需要循环直接if(path.indexOf("code")>=0){ //TO DO} 用 string 类自带的 Contains 方法不好吗? 【c#】设置鼠标样式的问题 送分贴:多表查询 单个列表框内项的拖拽 属性难道不能只写set块? 访问ACCESS数据库的问题,求教 请问 正则表达式高手 能不能编写一个比较全面识别数字的正则表达 求解决方案!!在线等 如何用c#实现TCP SYN扫描 求助 推荐几本讲述WinForm 编程的书 要实例讲解的 请问这个msdn怎么安装? C#中排序问题 怎样将dll反编译出来的代码放入对应的.aspx页面的后台代码,使之成为未编译之前的那样
加个判断即可private string getPath(string path)
{
int t;
for (t = 0; t <= path.Length-4; t++)
{
if (path.Substring(t, 4) == "code")
{
break;
}
}
}
if(path.indexOf("code") >= 0 )
{
//包含子字符串
}
else
{
//不包含子字符串
}
此时后面的字符串不足4个非要你那么写,并且不出错,可以用
if (path.Substring(t, 4).StartsWith("code"))
private string getPath(string path)
{
int t;
for (t = 0; t < path.Length; t++)
{
if (path.Substring(t, 4) == "code")
{
break;
}
}
假设你的path有6位,但是如果没有code这个值的话,Substring从t开始截取4为肯定是超出界限啦!!
path="123456";
当你的t等于3的时候就会出错了!!
为什么不使用indexOf呢??这样又不需要循环
直接
if(path.indexOf("code")>=0)
{
//TO DO
}