A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾家伟 中级黑马   /  2012-10-8 09:37  /  2259 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

string[] lines = txt成绩.Lines;
            string maxName = "";
            int maxScore = -1;
            foreach (string  line in lines)
            {
                string[] strs = line.Split('=');
                string name=strs[0];
                string strscore = strs[1];
                int score = Convert.ToInt32(strscore);
                if (maxScore < score)
                {
                    maxName = name;
                    maxScore = score;
                }
            }
            MessageBox.Show(string.Format("{0}是第一名,成绩是{1}",maxName,maxScore));

求解文中lforeach中的line含义以及Split,琢磨了一下,还是无解,望各位不吝赐教。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
foreach (string  line in lines)

line是一个string类型的
lines是一个string类型的数组
split是分割字符串

可以单步调试。查看line的值,每次循环时的。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
foreach (string  line in lines)

lines是0或多个相同类型的一系列数据,在你的代码里,lines表示多个string。
而foreach (string  line in lines) 的意思是,依次枚举lines里多个string,即是一次弄一个string出来。
弄出来的这一个string就放在line里。
现在line是一个字符串了,假设里面的值是: "张三=99"
现在执行这一句:string[] strs = line.Split('=');
这一句的意思是把 line这个string根据=号分割成多个string, 执行完后 strs的值为:strs[0]="张三" strs[1]="99" 。

所以:line表示lines的一个元素(代码中就是字符串数组中的一个字符串)
split把line这个字符串再分割成几个字符串,并以一个字符数组返回




评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马