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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Always. 于 2013-9-18 09:59 编辑

string[] lines = txtScore.Lines;
            string maxname = " ";
            int maxscore =-1;

            foreach (string line in lines)
            {
                string[]remove=line.Split('=');
                string name = remove[0];
                string strscore = remove[1];
                int score = Convert.ToInt32(strscore);
                if (score > maxscore)
                {
                    maxscore = score;
                    maxname = name;
                }               
            }
            MessageBox.Show(string.Format("第一名是{0},最高分为{1}", maxname, maxscore));

问题代码是: string strscore = remove[1]; 显示是索引超出了数组的界限 file:///D:\2509743941\Image\U))VO0DGTHX(4NNW_63$~5F.jpgfile:///D:\2509743941\Image\U))VO0DGTHX(4NNW_63$~5F.jpg


评分

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

查看全部评分

3 个回复

倒序浏览
比如:在txtScore.Lines中的内容是这样的:第一行:tom=300 第二行:jerry=200 第三行:lucy=100 第四行:无意中键入了空格。而此时Lines里边会有这一行空的数据。然后用Split分割第四行数据,只能得到只有一个元素的数组,即分割得到的数组的长度为1.所以,string strscore=remove[1]里边是没有数据的。所以会显示索引超出了数组的界限。
回复 使用道具 举报
亲,挣技术分的贴子要在第10届ASP.Net+Android+IOS黑马学员交流区交流:http://bbs.itheima.com/forum-158-1.html  发贴。
回复 使用道具 举报
黑马蔡红微 发表于 2013-9-18 08:51
亲,挣技术分的贴子要在第10届ASP.Net+Android+IOS黑马学员交流区交流:http://bbs.itheima.com/forum-158- ...

恩恩。老是,我下次会注意的。灰常感谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马