2010-12-14 98 views
1

J'ai regardé sur le site Web, je n'ai trouvé aucun élément ayant spécifiquement résolu le problème.Mise en forme de la table dans l'application de console C# avec des chaînes de longueur variable

J'ai une application de console qui boucle à travers, trouve des chaînes entre 7-20 caractères, plus la date/heure, plus un drapeau, plus le fichier.

Console.Write("========================================================================="); 
Console.WriteLine("Start time: " + DateTime.UtcNow); 
Console.Write("========================================================================="); 
Console.WriteLine("All times in UTC."); 
Console.Write("========================================================================="); 
Console.WriteLine(String.Format("{0,-8}{1,17}{2,37}{3,13}", "Time", "File:Offset", "F", "String")); 
Console.Write("========================================================================="); 

Le problème est la chaîne et le nom de fichier + chemin peut varier en longueur. La sortie utilise le même format de chaîne, mais en fonction de la longueur du nom de fichier, la mise en forme est désactivée.

Y at-il un moyen de faire en sorte que la console écrit des éléments commençant à une position fixe à chaque fois.
Donc, le temps commence à 0, le fichier: offsett commence à 17, F commence à 37, et la chaîne commence à 40. De cette façon, il formate correctement. En outre, cela peut être un peu plus avancé, mais peut-il tronquer tout ce qui ne rentre pas dans la colonne?

Merci!

Répondre