2017-05-03 9 views
-1

コンソールアプリケーション内のテーブルにデータを表示するのは難しいです。私はそれがデータを表示する方法とは何かであると信じています。コンソールでテーブルを作成するときに問題が発生する

私は、テキストファイルの内容を読み取るために、これを使用しています:その後、私はテーブルにテキストファイルのすべてのコンテンツを表示しようとしている

string currentDir = Directory.GetCurrentDirectory(); 
      string[] textFiles = Directory.GetFiles(currentDir, "*.txt"); 
      string[] lines = new string[11]; 
      for (int i = 0; i < textFiles.Length; i++) 
      { 
       lines[i] = File.ReadAllText(textFiles[i]); 
      } 

、各テキストファイルには、600個のエントリを持っており、彼らすべて一緒にテーブルを作るために行く。

Console.WriteLine("{0,10} \t {1,15}", lines[0], lines[1]); 

は、テーブルに表示だけの行の最後のエントリは、[0]とライン[1]コンソールで同じライン上に置かれているの最初のエントリ...誰でも持っているためにそれらを取得する私の試みました何か案は?

+0

に整列コンポーネントを参照してください?私はちょうどこの表記法を見ておらず、それを理解していません。私が見たすべての修飾語は手紙で始まり、{0:C2}を通して呼び出されます。 – vipersassassin

+1

@vipersassassin:https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx#FormatItem –

+1

サンプルの入力と出力をいくつか用意する必要があります。 a [mcve]。 –

答えて

0

ファイルの内容全体を簡単な文字列で読み込んでいるので、ファイルの内容(新しい行、タブ、スペースなど)がその文字列に含まれます。それらのファイル内の文字列の個々のビットを操作したい場合、最初にいくつかのルールに従ってそれらの文字列を分割する必要があります。

使用している書式設定のアライメントは、それ自体ですべてのことはあまりしません - あなたがする{0,10}何を期待しているhttps://msdn.microsoft.com/en-us/library/txafckwd.aspx

+0

最初に、11個のテキストファイルを配列に入れて、簡単に操作できる別の方法を探します –

+0

あなたが選んだ方法は間違っていません、単にあなたが次に何が起こるかによって異なります。もしあなたが各行で作業したいのであればファイル内で別々に文字列を分割するか、より簡単な行として直接読み込む必要があります(ReadAllLines)。変更を加えれば、配列を含む配列になりますもっと複雑になりますが、各行を別々に扱うことができます。各行にタブ/カンマ区切りの値が含まれていて、それぞれの行を順番に処理する必要がある場合は、CSVパーサのようにデータを取得する方が簡単です。通常通りそれは依存します。 –

関連する問題