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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 文韬 中级黑马   /  2013-6-5 00:10  /  2071 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 文韬 于 2013-6-5 16:06 编辑

在winform基础视频中有这样一段代码
        string[]lines=txt成绩.Lines;
              string maxName="";
              string maxScore=0;
        foreach(string line in lines)
      {
             string[]strs=line.Split('=');
             string name=strs[0];
             string strScore=strs[1];
             int score=convet.ToInt32(strScore);
            if(score>maxScore)
           {
             maxNmae=name;
             maxScore=score;
           }
    }
  MessageBox.Show(string.Format("{0}是第一名,最高成绩为{1}",maxName,maxScore));

其中tex成绩中包含的信息是用多行文本框存储的:
tom=200
jerry=100
lucia=300

我想问的是
1)foreach循环的次数由什么决定,还是说默认循环的次数为无限?他与for的区别和用途是什么?
2)tet成绩.Lines代表什么意思?这样写分别把txt成绩 中的三个信息做了什么样的处理?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

8 个回复

倒序浏览
foreach(string line in lines)
这条语句的意思就是逐条遍历lines中的元素,从第一个到最后一个。你是将文本读取之后,先去出每一行的文本。
然后按“=”分割字符串。
foreach语句就是当你需要从头到尾逐个遍历的时候使用比for方便。而for使用的灵活性比foreach高,它可以根据条件执行。
这个时候就是根据自己的需要,选择适当的方法

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
for 当你预先知道一个内含语句应要执行多少次时,for 语句特别有用。当条件为真时,常规语法允许重复地执行内含语句(和循环表达式)。
foreach是为数组元素提供了一种更方便的访问方式,具体过程是由目标对象控制的 ,自动遍历给定的集合体的所有值。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
基本功能类似
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组,执行完了后在把控制权交给地下的语句块。

for循环是先判断条件是否成立,然后在执行下面的语句块。
回复 使用道具 举报
sdjngl123 发表于 2013-6-5 07:43
foreach(string line in lines)
foreach循环次数是由lines里面的元素个数决定的,foreach语句只能依次获 ...

太感谢了
回复 使用道具 举报
轮回 发表于 2013-6-5 09:02
foreach(string line in lines)
这条语句的意思就是逐条遍历lines中的元素,从第一个到最后一个。你是将文 ...

非常感谢
回复 使用道具 举报
王洪磊 发表于 2013-6-5 09:14
for 当你预先知道一个内含语句应要执行多少次时,for 语句特别有用。当条件为真时,常规语法允许重复地执行 ...

感谢回答
回复 使用道具 举报
无__畏 发表于 2013-6-5 13:02
基本功能类似
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组,执行完了后在把控制权交给地下 ...

太谢谢了
回复 使用道具 举报
for 一般用于你可以预知所循环语句要执行多少次时,而foreach是为数组元素提供了一种方便的访问方式,遍历给定的集合体的所有值,for循环用来读取数据的比较多,两种方法用在适合的地方就会使得程序简洁!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马