C# 错误:索引超出了数组的边界

C# 错误:索引超出了数组的边界,c#,arrays,C#,Arrays,我得到这个错误: System.IndexOutOfRangeException:“索引超出了数组的边界。” 你能帮我修复代码吗?最后一行缺少k的范围测试。如果没有一个nt[k]小于i,那么k将超出范围,即它最终将大于或等于100 for (int k = j + 1; k < 100 && nt[k] < i; k++) 但我不知道你代码的上下文。你可能有一个比N更好的名字 请参阅:C角。System.IndexAutoFrangeException?这不是C,不

我得到这个错误:

System.IndexOutOfRangeException:“索引超出了数组的边界。”


你能帮我修复代码吗?

最后一行缺少k的范围测试。如果没有一个nt[k]小于i,那么k将超出范围,即它最终将大于或等于100

for (int k = j + 1; k < 100 && nt[k] < i; k++)
但我不知道你代码的上下文。你可能有一个比N更好的名字


请参阅:C角。

System.IndexAutoFrangeException?这不是C,不是吗?请发布完整的代码,而不仅仅是一段代码。int[]nt=newint[100],d=newint[100];它不是C…你如何防止k变为100或更大?如果存在这样的限制,它将出现在您向我们展示的代码段下面的代码中。如果它不存在,那就是你出错的原因。试着重构你的代码,使之更合理,这将使调试这个问题变得更容易。
for (int k = j + 1; k < 100 && nt[k] < i; k++)
const int N = 100;

int[] nt = new int[N];
...
for (int k = j + 1; k < N && nt[k] < i; k++)