为了账号安全,请及时绑定邮箱和手机立即绑定

比较大小的时候报错说超出数组范围了

for(int i = 0 ;i < score.Length ;i++)            {                if(int.Parse(score[j,1]) < int.Parse(score[i,1]))                {                    j = i;                }            }             为什么报错说超出数组范围了?

正在回答

2 回答

static void Main(string[] args)

        {

            string[,] name_score = {

                {"吴松", "89"}, 

                {"钱东宇", "90"},

                {"伏晨", "98"},

                {"陈陆", "56"},

                {"周蕊", "60"},

                {"林日鹏", "91"},

                {"何昆", "93"},

                {"关欣", "85"}

            };

            string[,] temp = {{"", ""}};

            for(int x = 0, _max = 0; x < name_score.GetLength(0); x++)

            {

                int scp = int.Parse(name_score[x, 1]);

                if(_max < scp)

                {

                    _max = scp;

                    temp[0,0] = name_score[x, 0];

                    temp[0,1] = name_score[x, 1];

                }

            }

            Console.Write("分数最高的是{0},分数是{1}", temp[0, 0], temp[0, 1]);

        }


0 回复 有任何疑惑可以回复我~
#1

ajaxstyle

多位数组的长度(Length)是个各个维度长度的乘积, 如:int[2,3,4] num; num.Length = 2*3*4 = 24; 所以遍历的是不能这么直接的取长度, 应该是用GetLength(arg)方法; 如取第一维的长度: int a = num.GetLength(0) = 2, 取第三维的长度: int c = num.GetLength(2) = 4;
2019-10-22 回复 有任何疑惑可以回复我~
#2

慕妹8829832 提问者 回复 ajaxstyle

谢谢,学习了
2019-10-22 回复 有任何疑惑可以回复我~

数组元素是8个,长度是16

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

比较大小的时候报错说超出数组范围了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信