[C#] 標準入力からテキストを読み込む (パイプによるテキスト読み込み)

コンソールアプリで標準入力から読み取る例を紹介します。標準入力で読み取る場合はConsole.Inを利用します。パイプを使って入力した場合もConsole.Inで入力内容を取得できます。

コード例


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace Invert
{
  class Program
  {
    static void Main(string[] args)
    {
      TextReader input;
      input = Console.In;
      Proc(input);
      input.Dispose();
    }

    static void Proc(TextReader tr)
    {
      string line;
      while ((line = tr.ReadLine()) != null) {
        Console.WriteLine(Reverse(line));
      }
    }

    static string Reverse(string s)
    {
      char[] cArray = s.ToCharArray();
      Array.Reverse(cArray);
      return new string(cArray);
    } 
  }
}

実行例

実行ファイルのディレクトリに以下のテキストファイルを用意します。

text.txt

Penguin
Duck
Camel

以下のコマンドを実行します。
type text.txt | Invert.exe

実行結果として以下の文字列が表示されます。
niugneP
kcuD
lemaC

登録日 :2010-11-11    最終更新日 :2011-02-21
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)