web-dev-qa-db-ja.com

C#コンソールアプリケーションの文字列にタブを挿入するにはどうすればよいですか?

このコンソールアプリケーションは、.txtファイルをディスクに書き込みます。

ユーザーがこれらの.txtファイルをExcelにインポートして、正しくフォーマットされるようにしたいので、タブを使用する予定です。

私はこのナンセンスを取得し続けます "Some string/ tsome other string/ t/t他の文字列 "。 Environment.NewLineのようなEnvironment.Tabはありません。

文字列に/ tではなくタブを取得するにはどうすればよいですか?

私は方法があると確信していますし、おそらく非常に明白であるため、私は自分の反応を一日中気絶させなければならないでしょう。

(他のソリューションにも対応しています。|またはその他の区切り文字/文字を使用する必要があるかもしれません。)

15
Thomas

文字列のタブは通常\tではなく/t。文字列を正しくエスケープしていますか?

32
Dan Puzey

目的が、最終的にExcelにインポートされるテキストファイルを作成することである場合は、コンマ区切りの値を使用しないでください。詳細 http://en.wikipedia.org/wiki/Comma-separated_values

4
hmatar

技術的には、.NETにはタブ定数があります。 Microsoft.VisualBasic.dllにあります。

var tab = Microsoft.VisualBasic.Constants.vbTab;

ただし、vbTabを使用する理由はありません。同じ結果で\ tを使用できます。

3
Vlad Bezden

あなたが本当にこれにうんざりしていると感じたら\t質問、簡単なユーティリティクラスを作成してみませんか

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

これで、コードで使用して、タブで区切られた文字列を作成できます。

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

しかし、再び、WHY?、事前定義された 標準のエスケープシーケンス を使用しない理由はありません。

3
Steve