c# SubString

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:06:04
有一个字符串 长度为8
如:String s="abcdefgh";
String b=s.SubString(2,7); 居然有异常?
什么问题啊

String s="abcdefgh"; 字符串长度为 8 下标范围 0-7

s.SubString(2,7); 由下标为2的字母开始截取 下标为2的字母为C 即从C开始获取后面7个字母包括C,可以看到C后面的字母只有5个,而你要取7个 所以造成数组越界。 如果想去从一个位置到结尾的字符串 可以省略 subString()方法的第二个参数,即subString(2),即从下标位置为2的字符开始一直到结尾。

String b=s.SubString(2,6);

从下标为2的字符截取,截取6位。你截取7位,已经超出最大长度了

SubString 第一个参数 开始位置 第二个参数是长度。
你字符串长度是2+7=9 肯定异常

可以用s.SubString(2)这样直接就可以截取2以后的所有字符了。
在java中SubString(StartChar,EndChar);才是你那样用的,c#中是这样的SubString(StartChar,length)。