web-dev-qa-db-fra.com

Comment insérer des onglets dans des chaînes pour une application console C #?

Cette application console écrit des fichiers .txt sur le disque.

L'utilisateur souhaite importer ces fichiers .txt dans Excel afin qu'ils soient correctement formatés, je prévois donc d'utiliser des onglets.

Je continue à obtenir ce non-sens " Une chaîne / t une autre chaîne / t/t une autre chaîne ". Il n'y a pas d'Environnement.Tab comme il y a Environnement.NouvelleLigne.

Comment puis-je obtenir les onglets et non/t dans mes chaînes?

Je suis sûr qu'il y a un moyen et ce sera probablement si évident que je devrai m'appeler défaillir toute la journée en réponse.

(Je suis également ouvert à d'autres solutions. Je devrais peut-être utiliser | ou un autre délimiteur/caractère.)

15
Thomas

Les onglets des chaînes sont généralement écrits \t, ne pas /t. Echappez-vous correctement votre chaîne?

32
Dan Puzey

Si le but est de créer des fichiers texte qui seront éventuellement importés dans Excel, pourquoi n'utilisez-vous pas de valeurs séparées par des virgules. Plus d'informations http://en.wikipedia.org/wiki/Comma-separated_values

4
hmatar

Techniquement, il existe une constante de tabulation dans .NET. Il se trouve dans Microsoft.VisualBasic.dll.

var tab = Microsoft.VisualBasic.Constants.vbTab;

Mais il n'y a aucune raison d'utiliser vbTab, vous pouvez simplement utiliser\t avec le même résultat.

3
Vlad Bezden

Si vous vous sentez vraiment dégoûté par ce \t question, pourquoi ne pas écrire une classe utilitaire simple

public static class MyUtility
{
    public static string Tab
    {
        get{return "\t";}
    }
}

vous pouvez maintenant utiliser dans votre code pour créer vos chaînes séparées par des tabulations ....

string test = "MyFirstString" + MyUtility.Tab + "MySecondString" + MyUtility.Tab .......

mais, encore une fois, POURQUOI? , il n'y a aucune raison de ne pas utiliser la séquence d'échappement prédéfinie standard

3
Steve