黑马程序员技术交流社区
标题: 关于foreach的问题 [打印本页]
作者: 王连 时间: 2012-4-19 08:54
标题: 关于foreach的问题
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的意思和用法,我查了下百度,里面的解释太多了,看着头都大了!谢谢了
作者: 李宗鹏 时间: 2012-4-19 09:06
本帖最后由 李宗鹏 于 2012-4-20 01:22 编辑
string line in lines可以看成line从lines数组里边遍历!string.Format
可以返回含有占位符的字符串
foreach可以遍历所有实现了IEnumerator接口的对象 foreach能做到的for并不一定能做到
而只要把此类实现IEnumerator接口 foreach就能循环它
作者: 孙杰 时间: 2012-4-19 09:08
就相当于一个for循环 lines的个数
作者: z4226797 时间: 2012-4-19 09:24
foreach (string line in lines)依次执行lines数组中的元素,并把值赋给line
string.Format有点类似于WriteLine,可以使用占位符进行输出
作者: 周俊辉 时间: 2012-4-19 09:43
谁能帮我解释下这个foreach (string line in lines)这句话是什么意思,怎么用的?还有后面的那个string.Format的意思和用法,我查了下百度,里面的解释太多了,看着头都大了!谢谢了
//----------------------
foreach就相当于 遍历lines数组里的元素。 就是这样用的 实例已经说的很明白了 也不知道怎么告诉你怎么用的
string.Format 指定字符串中的每个格式项替换为相应对象的值的等效文本 不知道这样解释你能明白??
作者: 403692154 时间: 2012-4-19 09:46
line是lines中的值,遍历的是数组中的值
作者: 鲍晨 时间: 2012-4-19 09:56
foreach是依次遍历数组中的元素,区别于for循环,foreach的执行效率更高,且只能从前往后遍历,string.Format是格式化输出字符串
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |