0

私はテキストファイルを持っています...のようなデータを保存しています..

E:0

S:0

R:0

ぐ:0

E:1

S:1

R:1

G:1

50まで続きます。私はそれを読むことができます

StramReader.ReadLine();

しかし、どうすれば最初の行を読むことができますか

E:0

次の E: にスキップして、間に入ることなく

4

2 に答える 2

3

この方法があります。しかし、これは各行を通過し、Eを含む行を選択します

var linesContainsE = File.ReadAllLines(filename)
    .Where(line => line.Contains("E"))
    .ToList();

(名前空間 System.Linq および System.IO を使用)

msdn の File.ReadAllLines に関する詳細情報: http://msdn.microsoft.com/en-us/library/system.io.file.readalllines.aspx

于 2012-09-21T08:56:16.087 に答える
1

メモリ内のすべての行をロードする ReadAllLines を使用する代わりに、強くお勧めします。ファイルが非常に大きい場合、ReadAllLines を使用しても効率的ではありません。

別の代替手段はReadLinesで、遅延実行です。

ReadLines メソッドと ReadAllLines メソッドの違いは次のとおりです。 ReadLines を使用すると、コレクション全体が返される前に文字列のコレクションの列挙を開始できます。ReadAllLines を使用する場合、配列にアクセスする前に、文字列の配列全体が返されるまで待機する必要があります。したがって、非常に大きなファイルを操作している場合は、ReadLines の方が効率的です。

さらに、 を使用する代わりに、次をContains使用しますStartWith

var linesContainsE = File.ReadLines(filename)
                         .Where(line => line.StartWith("E"))
                         .ToList();
于 2012-09-21T11:27:36.737 に答える