プログラム内の 2 つの特定のポイント間で発生するコンソール出力のセクションを抽出し、それを変数に格納したいと考えています。これはループで何度も実行されます。出力を通常のコンソールにエコーする必要はありません (より効率的になる場合)。
すなわち
foreach (Procedure p in procedures) {
BeginCapturingConsoleOutput();
p.Execute();
string procedureOutput = EndCapturingConsoleOutput();
}