У меня есть базовый цикл foreach
, который вызывает статический метод, который устанавливает соединение с базой данных и вставляет некоторые данные. По какой-то причине он будет перебирать первый элемент в коллекции только при запуске приложения без отладки. Если я отлаживаю приложение и устанавливаю точку останова в цикле foreach
, оно будет перебирать все элементы в коллекции.
Если я установлю точку останова и перешагну цикл foreach
, он будет демонстрировать такое же поведение, как если бы я запускал приложение без отладки.
Кто-нибудь знает, что вызвало бы такой тип поведения?
Вот упрощенная версия исходного кода:
List<MyObject> objectlist = new List<MyObject>();
//some code to populate list
foreach(MyObject myobject in objectlist)
{
string a = "a";
string b = "b";
MyLibrary.UpdateDatabase(a, b);
}
(я использую Visual Studio 2008 SP1)
Обновление
Процесс не выдает никаких исключений при отладке приложения или без него.