已知字符串001870028500698005680036300476,其含义是三位的学生编码+两位的学生成绩,学生成绩在1到99之间。上述串的含义是:编号001成绩87,编号002成绩85,编号006成绩98。。。请将成绩通过字符串操作取出,放入ArrayList类中,并绑定到ListBox控件中
2 回答
![?](http://img1.sycdn.imooc.com/54584f3100019e9702200220-100-100.jpg)
函数式编程
TA贡献1807条经验 获得超9个赞
string s = "001870028500698005680036300476";
ArrayList list = new ArrayList();
for( int i=3; i < s.Length; i=i+5 )
{
list.Add(s.Substring(i, 2);
}
基本上跟楼上的一样,少建几个string对象而已:)
![?](http://img1.sycdn.imooc.com/5458689e000115c602200220-100-100.jpg)
守着星空守着你
TA贡献1799条经验 获得超8个赞
其实就是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
}
当然这个是很没效率的做法,不过看起来简洁
- 2 回答
- 0 关注
- 463 浏览
添加回答
举报
0/150
提交
取消