コンソール アプリケーションの構築
更新 : 2007 年 11 月
.NET Framework のアプリケーションが System.Console クラスを使用してコンソールの文字の読み書きを実行する方法について説明します。コンソールからのデータは標準入力ストリームから読み取られ、コンソールへのデータは標準出力ストリームに書き込まれます。また、コンソールへのエラー データは、標準エラー出力ストリームに書き込まれます。これらのストリームは、アプリケーションの起動時に自動的にコンソールに関連付けられ、それぞれ In プロパティ、Out プロパティ、および Error プロパティとして示されます。
In プロパティの値は System.IO.TextReader オブジェクトですが、Out プロパティと Error プロパティの値は System.IO.TextWriter オブジェクトです。これらのプロパティをコンソールを表さないストリームに関連付けることができます。これにより、ストリームの出力先または入力元として異なる位置を指定できます。たとえば、Out プロパティを System.IO.StreamWriter に設定することによって、出力をファイルにリダイレクトできます。これは、System.IO.StreamWriter が Console.SetOut メソッドを使用して FileStream をカプセル化するためです。Console.In プロパティと Console.Out プロパティは、同じストリームを参照する必要はありません。
Windows ベースのアプリケーションなどでコンソールが存在しない場合には、情報を書き込む先のコンソールがないため、標準出力ストリームに書き込まれた出力を参照できません。
メモ : |
---|
アクセスできないコンソールに情報を書き込んでも、例外は発生しません。 |
Visual Studio 環境で実行される Windows ベースのアプリケーション内で読み取りおよび書き込み用のコンソールを有効にするには、プロジェクトの [共通プロパティ] の [全般] で、[出力の種類] として [コンソール アプリケーション] を設定します。
コンソール アプリケーションには、既定で起動されるメッセージ ポンプがありません。したがって、コンソールが Microsoft Win32 タイマを呼び出すと、失敗する場合があります。
System.Console クラスには、コンソールから個々の文字または行全体を読み取ることができるメソッドがあります。その他のメソッドは、まずデータと書式指定文字列を変換してから、書式設定された文字列をコンソールに書き込みます。書式指定文字列の詳細については、「書式設定の概要」を参照してください。