2016-03-20 19 views
1

In meinem C# -Konsole-Programm habe ich 4 Variablen. Ihre Namen und Typen sind wie folgt:C# - String-Daten mit Tabs richtig einrücken?

int ID 
bool Status 
bool Available 
int Count 

Ich möchte in der Lage sein, sie zu der Konsole zu drucken, schön gegliederte wie folgt:

Indented (Required)

Allerdings, wenn ich die Tabs verwenden " \ t“, meinen String formatiert werden, es dauert nicht berücksichtigt die Textbreite, und alle Werte sind launische eingekerbt wie folgt:

Wayward (Actual result)

Wie behebe ich das? Ich möchte keine Bibliotheken von Drittanbietern verwenden, sondern einfach .NET-Funktionen wie String.Format().

Antwort

2

Sie können Pad sie mit Leerzeichen wie folgt aus:

Console.WriteLine("{0,-10}\t{1,-5}\t{2,-5}\t{3,-10}", ID, Status, Available, Count); 

Und wenn Sie möchten sich ausrichten sie stattdessen:

Console.WriteLine("{0,10}\t{1,5}\t{2,5}\t{3,10}", ID, Status, Available, Count); 

ich die Polsterung auf die maximal mögliche Länge einer ganzen Zahl oder boolescher Wert in Stringform dargestellt. Möglicherweise müssen Sie es anpassen, um Ihre Spaltentitel zu berücksichtigen.

+0

Vielen Dank, das ist mein Problem gelöst! – Sach

+0

Gern geschehen @Sach. –

1

versuchen, eine Polsterung

var data = new string[5,4] 
      { 
       { "ID", "Status", "Available", "Count" }, 
       { "------", "------", "------", "------" }, 
       { "1123", "True", "False", "-1" }, 
       { "23", "False", "True", "-23" }, 
       { "3", "True", "True", "-1" } 

      }; 
      for (int i = 0; i < data.GetLength(0); i++) 
      { 
       Console.WriteLine("{0,-10}\t{1,-10}\t{2,-10}\t{3,-10}", data[i, 0], data[i, 1], data[i, 2], data[i, 3]); 

      } 
+0

Danke, das hat mein Problem gelöst! – Sach

Verwandte Themen