2つのファイルの文字列を連結して3番目のファイルに保存しようとしています。しかし、最初の2つのファイルのレコードがもっと多い(たとえば、100000 +レコード)場合、出力ファイルは生成に時間がかかります。私がここで間違って何をやっている...誰かがNとMはfile1とFile2の内の行の 数を表すファイルのN×Mの内の行のデカルトを行いその後ここで何が間違っているのですか...ループごとに非常に遅い
var fileA = File.ReadAllLines("File1.txt");
var fileB = File.ReadAllLines("File2.txt");
を助けてください。それぞれ ファイル1とファイル2で100と50レコードごとがあるのであれば、出力は私はあなたが何も悪いことをやっているとは思わない* 50 = 5000 100
FileStream fs = new FileStream("OutputFile.txt", FileMode.Create);
// First, save the standard output.
TextWriter tmp = Console.Out;
StreamWriter sw = new StreamWriter(fs);
foreach (var lst in cartesian)
{
Console.WriteLine(lst);
Console.SetOut(sw);
Console.WriteLine(lst);
Console.SetOut(tmp);
Console.WriteLine(lst);
}
sw.Close();
なぜすべてのC#バージョンにタグを付けるのですか?もしその質問が 'xx'を特別に扱うのであれば' c#-xx'を使うべきです(そのバージョンの機能など) –
おそらくその速度が遅いのは、そのような多くのレコードの結合は単純に*ロット*列挙する項目? – BradleyDotNET
さらに、プログラムは2つのファイルに対して100k +ラインを読み込み、結果ファイルに10G +ラインを生成します。プロセッサは通常1G命令/秒を実行できるため、少なくとも100秒かかると思います。 –