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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

评分

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

查看全部评分

9 个回复

倒序浏览
本帖最后由 小斥候 于 2013-12-13 20:38 编辑

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

评分

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

查看全部评分

回复 使用道具 举报
if (score > maxscore)
                {
                    maxname = name;
                    maxscore = score;
                }
第一项为零,零要大于负一啊,你改成>=就可以让它等于0了撒

评分

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

查看全部评分

回复 使用道具 举报
0也算成绩,good~
回复 使用道具 举报
一席倾城 发表于 2013-12-13 20:34
if (score > maxscore)
                {
                    maxname = name;

重点在于 0 也是成绩,-1表示没有成绩
回复 使用道具 举报
小斥候 发表于 2013-12-13 20:33
if (score > maxscore)中判断score是否 > -1 。包括 0 ,0也算成绩,-1就是没成绩.就好比字符串s = "",和 ...

写成0不行吗  0就算是有成绩 可是也是最小的成绩吧 难道还有比0更小的成绩吗  还是有点疑惑
回复 使用道具 举报
黑马郭 发表于 2013-12-13 20:48
写成0不行吗  0就算是有成绩 可是也是最小的成绩吧 难道还有比0更小的成绩吗  还是有点疑惑  ...

好好想一想  字符串=""和字符串的值为null的区别
回复 使用道具 举报
小斥候 发表于 2013-12-13 20:51
好好想一想  字符串=""和字符串的值为null的区别

嗯  貌似理解了一点了  一个分配了内存 一个没有 效率会高点吧  我在学习学习 谢谢回答
回复 使用道具 举报
谢谢各位的回答了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马