У меня есть базовый цикл 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)
Обновить
Процесс не создает никаких исключений с отладкой приложения или без нее.