首页 新闻 搜索 专区 学院

字符串操作

0
[已解决问题] 解决于 2009-05-10 21:22

已知字符串001870028500698005680036300476,其含义是三位的学生编码+两位的学生成绩,学生成绩在1到99之间。上述串的含义是:编号001成绩87,编号002成绩85,编号006成绩98。。。
请将成绩通过字符串操作取出,放入ArrayList类中,并绑定到ListBox控件中

问题补充: 因为是刚刚学习这个,对这个还不太了解,希望各位有力的出力,没力的动脑筋,谢谢你的帮助!
孙人的主页 孙人 | 菜鸟二级 | 园豆:245
提问于:2009-05-10 14:57
< >
分享
最佳答案
0

string s = "001870028500698005680036300476";

ArrayList list = new ArrayList();

for( int i=3; i < s.Length; i=i+5 )

{

  list.Add(s.Substring(i, 2);

}

 

基本上跟楼上的一样,少建几个string对象而已:)

Jun1st | 菜鸟二级 |园豆:240 | 2009-05-10 21:16
其他回答(2)
0

其实就是3位学号加2位成绩的组合喽?

string s = "001870028500698005680036300476";

ArrayList list = new ArrayList();

while (s.Length > 0) {

  string sub = s.Substring(0, 5); //取前5个

  s = s.Substring(5); //把前5个去掉

  string num = sub.Substring(0, 3); //学号

  string mark = sub.Substring(3); //成绩

  list.Add(mark); //放入ArrayList

}

当然这个是很没效率的做法,不过看起来简洁

Gray Zhang | 园豆:17610 (专家六级) | 2009-05-10 19:30
0

如果,字符串是这样的呢? string s="001 87 002 85 006 98 005 68 003 63 004 76";

smile to life | 园豆:154 (初学一级) | 2014-07-15 10:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册