黑马程序员技术交流社区

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

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

本人刚开始看视频 程序中有点小小的问题请教各位大神
就是 在看  案例 统计成绩中 部分程序如下
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:33
本帖最后由 小斥候 于 2013-12-13 20:38 编辑

if (score > maxscore)中判断score是否 > -1 。包括 0 ,0也算成绩,-1就是没成绩.就好比字符串s = "",和值为null是不一样的


作者: 一席倾城    时间: 2013-12-13 20:34
if (score > maxscore)
                {
                    maxname = name;
                    maxscore = score;
                }
第一项为零,零要大于负一啊,你改成>=就可以让它等于0了撒
作者: 笑脸不在    时间: 2013-12-13 20:35
0也算成绩,good~
作者: 小斥候    时间: 2013-12-13 20:37
一席倾城 发表于 2013-12-13 20:34
if (score > maxscore)
                {
                    maxname = name;

重点在于 0 也是成绩,-1表示没有成绩
作者: 黑马郭    时间: 2013-12-13 20:48
小斥候 发表于 2013-12-13 20:33
if (score > maxscore)中判断score是否 > -1 。包括 0 ,0也算成绩,-1就是没成绩.就好比字符串s = "",和 ...

写成0不行吗  0就算是有成绩 可是也是最小的成绩吧 难道还有比0更小的成绩吗  还是有点疑惑
作者: 小斥候    时间: 2013-12-13 20:51
黑马郭 发表于 2013-12-13 20:48
写成0不行吗  0就算是有成绩 可是也是最小的成绩吧 难道还有比0更小的成绩吗  还是有点疑惑  ...

好好想一想  字符串=""和字符串的值为null的区别
作者: 黑马郭    时间: 2013-12-13 21:09
小斥候 发表于 2013-12-13 20:51
好好想一想  字符串=""和字符串的值为null的区别

嗯  貌似理解了一点了  一个分配了内存 一个没有 效率会高点吧  我在学习学习 谢谢回答
作者: 黑马郭    时间: 2013-12-13 22:18
谢谢各位的回答了




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