超出界限 你在这行设个断点,按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#关于使用sql权限的问题 按日期生成流水号00001 c#写的电子邮件接收 有问题,请各位大虾帮忙!!! Sqlserver 如何存入Byte类型的数据 用FileStream如何取双字节字符。 50分求救:c#怎样远程连接oracle 多路视频图片(jpg),任选几路,怎么动态显示 孟子请进,谢谢刚才的回答,再问一个问题 wpf怎么实现QQ登陆窗体淡入淡出的效果? 高分求解:如何在代码中将文本框绑定到dataSet中某个表的某个字段? 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
}