2

この投稿と同様の要件があります... 実行時にテキストファイルを使用してGridviewにデータを入力する

テキストファイルを読み込んでファイル内のデータStreamReaderを入力したいのですが、タブを使用しDataTableて実装する方法がわかりません。split()

誰か私を正しい方向に向けてもらえますか?

4

3 に答える 3

13

あなたはこれを試すことができます:

        DataTable table = new DataTable();
        table.Columns.Add("col1");
        table.Columns.Add("col2");
        table.Columns.Add("col3");

        var lines = File.ReadAllLines(@"Data.txt").ToList();
        lines.ForEach(line => table.Rows.Add(line.Split((char)9)));

行は改行で区切られていると思いました(その場合はReadAllLinesメソッドを使用できます)。番号9は、水平タブ文字のASCII値であり、行を分割するために使用されます。ForEachジェネリックリストで使用できるメソッドであり、foreachループの代わりにあります。

于 2013-02-19T09:58:19.130 に答える
2

C# のタブのエスケープ文字は\tであるため、ファイルを読み取り、タブの各行を分割するには、使用します

var path = "path to file";
using (StreamReader sr = new StreamReader(path))
{
    while (sr.Peek() >= 0)
    {
        //Reads the line, splits on tab and adds the components to the table
        table.Rows.Add(sr.ReadLine().Split('\t'));
    }
}
于 2013-02-19T10:12:33.953 に答える
0

タブ文字しかない場合はSplit('\ t')を使用できますが、タブが空白の場合は正規表現を使用することをお勧めします

于 2013-02-19T09:52:48.927 に答える