索引和长度必须引用该字符串内的位置

stringdizhi="中国-北京市";stringproc=dizhi.Substring(0,dizhi.IndexOf("-"));stringcity=dizh... string dizhi = "中国-北京市";
string proc = dizhi.Substring(0, dizhi.IndexOf("-"));
string city = dizhi.Substring(dizhi.IndexOf("-") + 1, dizhi.Length);

怎么会越界呢?不明白
dizhi.IndexOf("-")是2, dizhi.Length是6
应该这样,我明白string city = dizhi.Substring(dizhi.IndexOf("-") + 1);
但是上面那么为什么错了?
dizhi.Substring(2,6);为什么错?
就算dizhi.Substring(2,5);也会错。。
展开
 我来答
渁龍蝎
2011-08-09 · TA获得超过241个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:123万
展开全部
dizhi.Substring(2,6);
2是字符截取起始位置
6是截取的字符串长度
追问
对呀,我知道。。。
我string city = dizhi.Substring(dizhi.IndexOf("-") + 1, dizhi.Length-3);
dizhi.Length-3才能取到北京市,可是有问题啊
这样就相当于dizhi.Substring(2,3);
这样怎么能取到北京市呢
追答
string dizhi = "中国-北京市";
string city = dizhi.Substring(dizhi.IndexOf("-") + 1, dizhi.Length-3);
dizhi.IndexOf("-") + 1是3,从“北”开始 取3位
相当于dizhi.Substring(3,3);
莫范裘碧琴
2019-07-12 · TA获得超过3635个赞
知道大有可为答主
回答量:3062
采纳率:26%
帮助的人:448万
展开全部
protocol
=
url.Substring(position,url.Length);
substring方法第一个参数是起始位置,第二个参数是长度
url.Length应该换成(url.Length-position)这样的形式,计算好应该截取的长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式