c# IndexOf()问题

zhongwei11 2010-01-26 03:23:52
string InText="and";
string i="and";
int b = InText.IndexOf("and");
int c = InText.IndexOf(i);

最后得的结果
b=0;
c=-1;

这是怎么回事啊,c也应该返回0才对啊;
...全文
251 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
流氓兔 2010-01-26
  • 打赏
  • 举报
回复
字符串最好是Trim()一下啊
白头老汉 2010-01-26
  • 打赏
  • 举报
回复
呵呵,split分开后,字符串后面有一个空格
zhongwei11 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangjinpeng_job 的回复:]
c就应该返回0,不知道你那个怎么回事?等于-1说明不存在,是不是不小心多了个空格?
[/Quote]
高手就是高手~~~
细节决定成败!!!
在下佩服
xray2005 2010-01-26
  • 打赏
  • 举报
回复
我这里b,c 都是等于0
wangjinpeng_job 2010-01-26
  • 打赏
  • 举报
回复
c就应该返回0,不知道你那个怎么回事?等于-1说明不存在,是不是不小心多了个空格?
zhongwei11 2010-01-26
  • 打赏
  • 举报
回复
public bool SqlFilter(string InText)
{
string word = "and |exec |insert |select |delete |update |chr |mid |master |or |truncate |char |declare |join |cmd | |' |-";//这里加要过滤的SQL字符
if (InText == null)
return false;
foreach (string i in word.Split('|'))
{
int b = InText.IndexOf("and");
int c = InText.IndexOf(i);
if ((InText.ToLower().IndexOf(i + " ") > -1)|| (InText.ToLower().IndexOf(" " + i) > -1))
{
return true;
}
}
return false;
}

我的整个方法 设断点调式
显示
b=0;
c=-1;
请帮忙解答下~~~谢谢
qlzf11140820 2010-01-26
  • 打赏
  • 举报
回复
应该都是0
ck11926375 2010-01-26
  • 打赏
  • 举报
回复
我这里b,c 都是等于0

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧