何故、WriteLineが実行順番通りに「出力」されないのか

Main.xaml (13.6 KB)

表題の通り、下記の様に順不同で出力されます。
出力画面

これは何故でしょうか。
※何度か実行するとその都度、WriteLineの出力順が異なります。

繰り返し(各行)の変数:Dtintは、一行目に1,二行目に2,三行目に3を入れており、
繰り返し(コレクションの各要素)変数:リスト数値はlistで1,2,3を順番に入れております。そのため、想定していたのは、1,2,3の順番通りに出力されることでした。

foreachで繰り返し処理をした場合、listは入れた順番、Datatableは1行目から処理開始されることが保証されていると思い込んでおりましたが、もしかしたら違う順番で処理が開始されることがあるのでしょうか。

それとも(こちらの可能性が高いと考えておりますが)WriteLineの「出力」の順番が保証されてないのでしょうか。

昔から言われていて、こればかりは仕方ないようです…

正確な記録としては、実行ログファイルがありますので、そちらをご覧ください…

こんにちは

補足になるかもしれませんが、WriteLine自体の出力は想定通りのものとなっています。
順番が保証されないのは、StudioのOutputPanelでの表示順番になります。(同一時刻で記録されているものの順序が変わる可能性があるようです)
生のログファイルは正しい順番で記録されていますので、厳密な順番はこちらで確認くださいということになります。

HANACCHIさん、Yoichiさん。

迅速なご回答ありがとうございます。
本トピックを挙げた後、ふと思い当って、ログファイルを確認してみると「正確な順番」で
出力されておりました!

昔から指摘されている問題だったのですね。

正確な出力順を知りたい場合には「出力」欄を見るのではなくログで確認するように致します。

1 Like

ただそのログも一行が長いので、エクセルに読み込ませたりして確認したりしてます…

エヴィデンスとしてなら、一度コピーを取ってから^_^

ご納得頂けたら、解決策にチェックお願いします

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.