【问题标题】:This piece of code gives me an error, and I can't figure out why? [duplicate]这段代码给了我一个错误,我不知道为什么? [复制]
【发布时间】:2021-10-20 20:40:23
【问题描述】:

我正在尝试使用以下代码在该结构数组中找到最大的数字:

max=0;
for (i = 1; i <= team.Length; i++)
{
    if (team[i].Point > team[max].Point) 
    { 
        max = i; 
    }

它给了我一个错误,它System.OutOfRangeException。请帮忙。

【问题讨论】:

    标签: c#


    【解决方案1】:

    C# 中的数组是从 0 开始的,而不是从 1 开始的。更改您的 for 循环:

    for (i = 1; i < team.Length; i++)
    

    注意:根据@juharr 的反馈编辑

    【讨论】:

    • 实际上,由于 OP 将 max 初始化为 0,它可以与 for (i = 1; i &lt; team.Length; i++) 一起使用,只是 &lt; 而不是 &lt;= 可以修复它。
    最近更新 更多