黑马程序员技术交流社区

标题: 本人新人一枚 有点问题请教 [打印本页]

作者: 黑马郭    时间: 2013-12-13 20:20
标题: 本人新人一枚 有点问题请教
本帖最后由 黑马郭 于 2013-12-17 11:45 编辑

本人刚开始看视频 程序中有点小小的问题请教各位大神
就是 在看  案例 统计成绩中 部分程序如下
private void btnresult_Click(object sender, EventArgs e)
        {
            string[] lines = txtchengji.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));
        }

其他的都能看懂  就是有一句  maxscore = -1; 请问为什么要等于-1,而不是0呢;
谢谢各位解惑了

作者: 小斥候    时间: 2013-12-13 20:40
不要重复发帖,本帖撤销
作者: 黑马郭    时间: 2013-12-13 20:51
小斥候 发表于 2013-12-13 20:40
不要重复发帖,本帖撤销

电脑卡了 不是故意的
作者: 上帝的尊严    时间: 2013-12-13 22:40
这里考虑到一个概率很小的问题,就是这些人的score都是0的可能,如果定义maxscore=0;当str[1]里面的元素都是0时,就进入不到if里面,那么maxname就得不到一个有意义的值
作者: y494890511    时间: 2013-12-13 23:01
因为成绩有可能为0.
写成-1可以避免出错的几率.
因为有一些不确定的因素会造成程序的错误.
这样写可以可以避免一些不必要的错误
作者: 黑马郭    时间: 2013-12-13 23:36
上帝的尊严 发表于 2013-12-13 22:40
这里考虑到一个概率很小的问题,就是这些人的score都是0的可能,如果定义maxscore=0;当str[1]里面的元素都 ...

谢谢回答了 受益了……
作者: 黑马郭    时间: 2013-12-13 23:37
y494890511 发表于 2013-12-13 23:01
因为成绩有可能为0.
写成-1可以避免出错的几率.
因为有一些不确定的因素会造成程序的错误.

学些了 谢谢回答
作者: 鸡蛋壳    时间: 2013-12-15 18:01
等于-1是设置一个取不到的值,要是0可能能取到。
作者: 黑马郭    时间: 2013-12-15 18:43
鸡蛋壳 发表于 2013-12-15 18:01
等于-1是设置一个取不到的值,要是0可能能取到。

谢谢回答
作者: SunshineGirl    时间: 2013-12-17 11:22
亲,如果有同学给你回答了,要设置成“提问结束”,这样版主才会给你们加分了。
作者: 黑马郭    时间: 2013-12-17 11:44
黑马蔡红微 发表于 2013-12-17 11:22
亲,如果有同学给你回答了,要设置成“提问结束”,这样版主才会给你们加分了。 ...

好的 谢谢提醒




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