substring报错!

dodolzc10 2012-12-25 10:21:29
string strSbuUserName=Session["SUserName"].ToString();

string strsun=strSbuUserName.Substring(strSbuUserName.IndexOf("/")+1,strSbuUserName.Length-strSbuUserName.IndexOf("/"));


提示 Index and length must refer to a location within the string.
...全文
352 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dodolzc10 2012-12-25
  • 打赏
  • 举报
回复
引用 10 楼 marclee44 的回复:
string strsun=strSbuUserName.Substring(strSbuUserName.IndexOf("/")+1,strSbuUserName.Length-(strSbuUserName.IndexOf("/")+1)); 非要这么写,就得这样才对
这样也报错,不过解决了问题,就不在这糾結!那么一点分也不好意思的,谢谢您的耐心回答!
Marky 2012-12-25
  • 打赏
  • 举报
回复
string strsun=strSbuUserName.Substring(strSbuUserName.IndexOf("/")+1,strSbuUserName.Length-(strSbuUserName.IndexOf("/")+1)); 非要这么写,就得这样才对
Marky 2012-12-25
  • 打赏
  • 举报
回复
引用 7 楼 dodolzc10 的回复:
引用 4 楼 caozhy 的回复:是啊。我知道啊。 嗯嗯!是可以,弱弱的问下 版主,我的为什么出错了 string strsun=strSbuUserName.Substring(strSbuUserName.IndexOf("/")+1,strSbuUserName.Length-strSbuUserName.IndexOf("/")); 在不考慮2楼的问题上……
string strSbuUserName="ewfe/eofof" 那么strSbuUserName.IndexOf("/")=4 strSbuUserName.Length=10 strsun=strSbuUserName.Substring(4+1,10-4) 也就是说,从第六位开始,截6个字符,超限了
dodolzc10 2012-12-25
  • 打赏
  • 举报
回复
引用 2 楼 marclee44 的回复:
如果"/"在strSbuUserName的最后一位呢? 假设strSbuUserName.Length=5,那么string strsun=strSbuUserName.Substring(5,5-5);这个index超限了
谢了,因为是新手,确实没有想到这问题
dodolzc10 2012-12-25
  • 打赏
  • 举报
回复
引用 4 楼 caozhy 的回复:
是啊。我知道啊。
嗯嗯!是可以,弱弱的问下 版主,我的为什么出错了 string strsun=strSbuUserName.Substring(strSbuUserName.IndexOf("/")+1,strSbuUserName.Length-strSbuUserName.IndexOf("/")); 在不考慮2楼的问题上
mjp1234airen4385 2012-12-25
  • 打赏
  • 举报
回复
就是说,你这个参数传的有问题了。 好好判断一下,是不是strSbuUserName有空,或者不包含你要数据的时候
Marky 2012-12-25
  • 打赏
  • 举报
回复
index要+1,还是做好事先判断,或者try...catch...吧 当然,推荐事贤判断,try...catch...效率较低
threenewbee 2012-12-25
  • 打赏
  • 举报
回复
是啊。我知道啊。
dodolzc10 2012-12-25
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
目测 string strsun = strSbuUserName.Substring(strSbuUserName.IndexOf("/") + 1); 即可。
string strSbuUserName=ewfe/eofof类似这样的,我是想提取/后面的字符,谢谢! 后面的字符长度不定
Marky 2012-12-25
  • 打赏
  • 举报
回复
如果"/"在strSbuUserName的最后一位呢? 假设strSbuUserName.Length=5,那么string strsun=strSbuUserName.Substring(5,5-5);这个index超限了
threenewbee 2012-12-25
  • 打赏
  • 举报
回复
目测 string strsun = strSbuUserName.Substring(strSbuUserName.IndexOf("/") + 1); 即可。

110,534

社区成员

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

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

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