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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王连 中级黑马   /  2012-4-19 08:54  /  2054 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

谁能帮我解释下这个foreach (string line in lines)这句话是什么意思,怎么用的?还有后面的那个string.Format的意思和用法,我查了下百度,里面的解释太多了,看着头都大了!谢谢了

评分

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

查看全部评分

6 个回复

倒序浏览
李宗鹏 来自手机 中级黑马 2012-4-19 09:06:20
沙发
本帖最后由 李宗鹏 于 2012-4-20 01:22 编辑

string line in lines可以看成line从lines数组里边遍历!string.Format
可以返回含有占位符的字符串
foreach可以遍历所有实现了IEnumerator接口的对象 foreach能做到的for并不一定能做到
而只要把此类实现IEnumerator接口 foreach就能循环它

评分

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

查看全部评分

回复 使用道具 举报
就相当于一个for循环  lines的个数

评分

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

查看全部评分

回复 使用道具 举报
foreach (string line in lines)依次执行lines数组中的元素,并把值赋给line
string.Format有点类似于WriteLine,可以使用占位符进行输出

评分

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

查看全部评分

回复 使用道具 举报
谁能帮我解释下这个foreach (string line in lines)这句话是什么意思,怎么用的?还有后面的那个string.Format的意思和用法,我查了下百度,里面的解释太多了,看着头都大了!谢谢了

//----------------------
  foreach就相当于 遍历lines数组里的元素。  就是这样用的  实例已经说的很明白了 也不知道怎么告诉你怎么用的


string.Format 指定字符串中的每个格式项替换为相应对象的值的等效文本   不知道这样解释你能明白??

评分

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

查看全部评分

回复 使用道具 举报
line是lines中的值,遍历的是数组中的值

评分

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

查看全部评分

回复 使用道具 举报
鲍晨 中级黑马 2012-4-19 09:56:50
7#
foreach是依次遍历数组中的元素,区别于for循环,foreach的执行效率更高,且只能从前往后遍历,string.Format是格式化输出字符串

评分

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

查看全部评分

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