Почему возникает исключение в части "f ++" кода ниже ("IndexOutOfRangeException не обрабатывается кодом пользователя"):
for (int f = 0; f < gnf; f++)
{
fieldNames[g] = grid.FieldName(f);
}
Ошибка в части кода "fieldNames [g] = ...", мой алгоритм должен быть:
for (int f = 0; f < gnf; f++)
{
fieldNames[f] = grid.FieldName(f);
}
(Это не приводит к сбою.) Но отладчик не показывает исключение в строке "fieldNames [g] ..." при запуске неправильного (верхнего) кода.
В данный момент я не использую потоки, поэтому не вижу, чтобы это была одна из тех ситуаций "отладка исключений в многопоточной программе - самоубийство".
Почему отладчик показывает исключение в неправильном месте? Оптимизации что ли? Кто-нибудь еще когда-нибудь ошибался в отладчике?