私は基本的なforeach
ループを持っており、データベースへの接続とデータの挿入を行う静的メソッドを呼び出します。何らかの理由で、デバッグなしでアプリケーションを実行すると、コレクション内の最初のアイテムだけが反復処理されます。アプリケーションをデバッグして、ループの中にブレークポイントを設定すると、コレクション内のすべてのアイテムが反復処理されます。foreachループはリスト内のすべての項目をループしません - C#
ループに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を使用しています):ここでは
は、ソースコードの簡易版でありますアプリケーションをデバッグすることなく。
問題を示す小さな完全な例を投稿してください。 –
これは完全にオフになっている可能性がありますが、クリーンアップが必要な場合や、アプリケーションビンよりもデバッグビンにアセンブリのビルドが異なる場合があります。 – ryber
複数のスレッドを使用していますか? –