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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马郭 中级黑马   /  2013-12-13 20:20  /  1680 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马郭 于 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呢;
谢谢各位解惑了

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

11 个回复

倒序浏览
不要重复发帖,本帖撤销
回复 使用道具 举报
小斥候 发表于 2013-12-13 20:40
不要重复发帖,本帖撤销

电脑卡了 不是故意的
回复 使用道具 举报
这里考虑到一个概率很小的问题,就是这些人的score都是0的可能,如果定义maxscore=0;当str[1]里面的元素都是0时,就进入不到if里面,那么maxname就得不到一个有意义的值

评分

参与人数 1技术分 +1 收起 理由
V_John + 1

查看全部评分

回复 使用道具 举报
因为成绩有可能为0.
写成-1可以避免出错的几率.
因为有一些不确定的因素会造成程序的错误.
这样写可以可以避免一些不必要的错误
回复 使用道具 举报
上帝的尊严 发表于 2013-12-13 22:40
这里考虑到一个概率很小的问题,就是这些人的score都是0的可能,如果定义maxscore=0;当str[1]里面的元素都 ...

谢谢回答了 受益了……
回复 使用道具 举报
y494890511 发表于 2013-12-13 23:01
因为成绩有可能为0.
写成-1可以避免出错的几率.
因为有一些不确定的因素会造成程序的错误.

学些了 谢谢回答
回复 使用道具 举报
等于-1是设置一个取不到的值,要是0可能能取到。
回复 使用道具 举报
鸡蛋壳 发表于 2013-12-15 18:01
等于-1是设置一个取不到的值,要是0可能能取到。

谢谢回答
回复 使用道具 举报
亲,如果有同学给你回答了,要设置成“提问结束”,这样版主才会给你们加分了。
回复 使用道具 举报
黑马蔡红微 发表于 2013-12-17 11:22
亲,如果有同学给你回答了,要设置成“提问结束”,这样版主才会给你们加分了。 ...

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