学生刚学c#问个低级问题

cs648413888 2012-03-12 10:43:41
string a = "sd,123,w";
int index1 = a.IndexOf(',');
int index2 = a.LastIndexOf(',');
Console.WriteLine(a.Substring(index1+1,index2-index1-1));




这段代码中 的a.Substring(index1+1,index2-index1-1)); index1为什么 +1 ,后面为什么是index-index1-1, 还有 substring 的用法是什么 希望大家用比较直白易懂教我一下
...全文
103 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-03-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 cs648413888 的回复:]
string a = "sd,123,w";
int index1 = a.IndexOf(',');
int index2 = a.LastIndexOf(',');
Console.WriteLine(a.Substring(index1+1,index2-index1-1));



……
[/Quote]
Indexof(',')就是定位第一个,的位置,LastIndexOf(',')就是定位最后一个,号的位置,
a.Substring(index1+1,index2-index1-1)不就是为取出,与,之间的字符串,
麻烦你亲自把代码在VS去运行一下看看到底什么结果,再结合MSDN更深入地看,如果不动手不动脑,你学不到东西
  • 打赏
  • 举报
回复
下标是从0开始计算的。
自己查查要取字符的下标,以及要取多长。就什么都明白了。
happytonice 2012-03-12
  • 打赏
  • 举报
回复
1楼说的挺直白了,在实际做一下就更明白了。
muyi66 2012-03-12
  • 打赏
  • 举报
回复
MSDN里对所有的类、方法、属性都有详细的描述,多用它,你能学到很多。
muyi66 2012-03-12
  • 打赏
  • 举报
回复
第一个+1,是为了越过逗号,因为index1指向它。

第二个,则是为了计算两个逗号之间的字符串长度。-1是要去除逗号占据的位置数,因为两个index都指向它们,因此两个index的差值里包含了一个逗号的位置——栅栏效应。

substing是用来计算子串的方法,有好几种重构的形式。这里的用法是要从第一个参数开始取第二个参数那么长的子串。在这里的作用其实就是要取出两个逗号间的内容。

111,126

社区成员

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

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

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