25

コンソール アプリケーションでリストをテーブルとして出力し、次のような便利な形式でプレビューするメソッドが必要です。

Pom_No          Item_Code          ordered_qty                      received_qty

1011            Item_Code1         ordered_qty1                    received_qty1 

1011            Item_Code2         ordered_qty2                    received_qty2

1011            Item_Code3         ordered_qty3                    received_qty3

1012            Item_Code1         ordered_qty1                    received_qty1 

1012            Item_Code2         ordered_qty2                    received_qty2

1012            Item_Code3         ordered_qty3                    received_qty3
4

3 に答える 3

47

あなたの主なツールは

Console.WriteLine("{0,5} {1,10} {2,-10}", s1, s2, s3);  

,5とは,10幅指定子です。左揃えにするには、負の値を使用します。

書式設定も可能です:

Console.WriteLine("y = {0,12:#,##0.00}", y);

または、幅が 24 でカスタム書式設定の日付:

String.Format("Now = {0,24:dd HH:mm:ss}", DateTime.Now);

編集、C#6 用

文字列補間を使用すると、次のように記述できます

Console.WriteLine($"{s1,5} {s2,10} {s3,-10}");  
Console.WriteLine($"y = {y,12:#,##0.00}");

String.Format()もう明示的に呼び出す必要はありません:

string s = $"Now = {DateTime.Now,24:dd HH:mm:ss}" + ", " + $"y = {y,12:#,##0.00}" ;
于 2012-04-15T09:06:14.550 に答える
35

これを行う最も簡単な方法は、既存のライブラリを使用することです

Install-Package ConsoleTables 

そして、次のようにテーブルを定義できます。

ConsoleTable.From<Order>(orders).Write();

そして、この出力が得られます

| Id       | Quantity | Name              | Date                |
|----------|----------|-------------------|---------------------|
| 3355     | 6        | Some Product 3355 | 18-04-2016 00:52:52 |
| 3355     | 6        | Some Product 3355 | 18-04-2016 00:52:52 |
| 3355     | 6        | Some Product 3355 | 18-04-2016 00:52:52 |
| 3355     | 6        | Some Product 3355 | 18-04-2016 00:52:52 |
| 3355     | 6        | Some Product 3355 | 18-04-2016 00:52:52 |

または、カスタム テーブルを定義します

var table = new ConsoleTable("one", "two", "three");
table.AddRow(1, 2, 3)
     .AddRow("this line should be longer", "yes it is", "oh");

table.Write();

さらなる例については、c# コンソール テーブルを確認してください

于 2016-04-17T21:57:34.130 に答える
2

\t を使用してタブを挿入し、列を区切ります

于 2012-04-15T09:07:07.557 に答える