黑马程序员技术交流社区

标题: 关于for和foreach的区别和用途 [打印本页]

作者: 文韬    时间: 2013-6-5 00:10
标题: 关于for和foreach的区别和用途
本帖最后由 文韬 于 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成绩 中的三个信息做了什么样的处理?

作者: 轮回    时间: 2013-6-5 09:02
foreach(string line in lines)
这条语句的意思就是逐条遍历lines中的元素,从第一个到最后一个。你是将文本读取之后,先去出每一行的文本。
然后按“=”分割字符串。
foreach语句就是当你需要从头到尾逐个遍历的时候使用比for方便。而for使用的灵活性比foreach高,它可以根据条件执行。
这个时候就是根据自己的需要,选择适当的方法
作者: 王洪磊    时间: 2013-6-5 09:14
for 当你预先知道一个内含语句应要执行多少次时,for 语句特别有用。当条件为真时,常规语法允许重复地执行内含语句(和循环表达式)。
foreach是为数组元素提供了一种更方便的访问方式,具体过程是由目标对象控制的 ,自动遍历给定的集合体的所有值。
作者: 无__畏    时间: 2013-6-5 13:02
基本功能类似
foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组,执行完了后在把控制权交给地下的语句块。

for循环是先判断条件是否成立,然后在执行下面的语句块。
作者: 文韬    时间: 2013-6-5 16:04
sdjngl123 发表于 2013-6-5 07:43
foreach(string line in lines)
foreach循环次数是由lines里面的元素个数决定的,foreach语句只能依次获 ...

太感谢了
作者: 文韬    时间: 2013-6-5 16:05
轮回 发表于 2013-6-5 09:02
foreach(string line in lines)
这条语句的意思就是逐条遍历lines中的元素,从第一个到最后一个。你是将文 ...

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

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

太谢谢了
作者: popoluno    时间: 2013-6-9 14:14
for 一般用于你可以预知所循环语句要执行多少次时,而foreach是为数组元素提供了一种方便的访问方式,遍历给定的集合体的所有值,for循环用来读取数据的比较多,两种方法用在适合的地方就会使得程序简洁!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2