2011-12-15 4 views
0

ファイルから整数の巨大な行列を読み取る必要がある場合は、C#でこれを行う最も効率的な方法は何でしょうか?C#のテキストファイルから多くの整数(倍精度)を読み込む最も効率的な方法は何ですか?

例:

n m // n - number of rows m - number of columns 
a11 ... a1m 
    ... 
an1 ... anm 
+0

これまでに何を試みましたか、それはどのように実行されましたか、実行するにはどれくらいの時間がかかりますか? –

+0

個人的には、ファイルフォーマットが一貫している場合、便宜上、私はFileHelpers.Net(http://www.filehelpers.com/)の使用を検討したいと思います。しかし、Jon Skeet氏によれば、それ以上のことを知らなくても、何かを推薦するのは難しいです。 – dash

+0

私はそれを1行ずつ読んで、それを分割し、それを解析しています。私は思っていました。最初のスペースまで読み込み、intを解析すると、ライン全体を読み込むのではなく、今度は同じデータを一回以上通しています。 –

答えて

0

大抵それは多次元配列にスピード一度ロードされたロードの面で、あなたが効率的で何を意味するかによって異なり、これを使用することは非常に迅速になります。

必要なリソースのみを使用するという点で、行を1行ずつストリーミングするのが最適です。

-1

私の意見では、ファイルからテキスト全体を読み取った後、Regexクラスを使用して、Matches(String)メソッドを使用してすべての数値を一致させ、クラスMatchesのオブジェクトを取得できます。文字列形式の数値はすべてこのオブジェクトに格納され、これらの文字列から解析することで数値を取得できます。

+0

-1マイクは効率的なソリューションを求めており、この場合の正規表現の使用は遅いです無意味な – Alleo

関連する問題