◆ 順番通りに表示したいならどっちかに揃える

どっちを書いていても VisualStudio で実行してると出力のウィンドウにログとして表示されます

デバッグ用にこんな感じの Debug.WriteLine を使う関数を用意していて
static public void dump(params dynamic[] args){
foreach(var arg in args){
Debug.WriteLine(arg);
}
}

呼び出す側では 目印に Console.WriteLine で出力していました
Console.WriteLine("group a");
dump(a1, a2, a3, ab, ac);

Console.WriteLine("group b");
dump(b1, b2, bb, bc);

こんなの

これで実行すると順番がおかしなことになってました
実行した順に表示してくれないみたい

すごく単純なサンプルを作って実行してみると
Debug.WriteLine("aaaaa");
Console.WriteLine("bbbbb");
Debug.WriteLine("aaaaa");
Console.WriteLine("bbbbb");
Debug.WriteLine("aaaaa");
Console.WriteLine("bbbbb");
aaaaa
aaaaa
aaaaa
bbbbb
bbbbb
bbbbb

……どうしてこうなった!

Debug のほうが先に出力されてます

Console のほうは内部でバッファにためておいてある程度たまったら出力することになってたりするのでしょうか

なんにせよ 複数の関数を使ってつなげて表示したいなら別の出力方法を混ぜて使わないほうがよさそうです
最後のサンプルみたいな並んでると どっちかに揃えますけど最初のサンプルみたいにユーティリティ関数の中でどっち使ってるかまで覚えておかないといけないのはちょっと面倒です