【发布时间】:2018-11-21 22:11:26
【问题描述】:
我遇到了这个问题,由于未知原因,我在此代码上得到索引超出范围异常。我有转换为数组的学生列表,然后我以字符串类型返回学生的信息。 getFN 正在返回 Faculty Number (int) 。该列表运行良好,可能是因为我的元素太少了吗? 例外是在这一行:
error --> if (item > data[mid].getFN())
public string BinarySearch(int item)
{
int min = 0;
int N = myList.ToArray().Length;
int max = N - 1;
Student[] data = myList.ToArray();
do
{
int mid = (min + max) / 2;
if (item > data[mid].getFN())
min = mid + 1;
else
max = mid - 1;
if (data[mid].getFN() == item)
return data[mid].toString();
} while (min <= max);
return "Not found. ";
}
【问题讨论】:
-
如果列表为空,那么在尝试检索项目时总是会出错。
标签: c# exception console-application