ファイルを繰り返し処理し、特定のファイル名に達するまで各ファイルの整数に+1を追加するアプリケーションを作成したという問題があります。問題はおそらく.Netはネイティブファイルシステムに直接アクセスしないため、コレクションをいっぱいにしますが、私の場合は数年かかるでしょう、私には260,000個のファイルがあります。繰り返しは2番目のファイルにも届きません。スレッドは完全にフリーズし、エラーも例外もありません。それで、ネイティブファイルシステムに直接アクセスする方法はありますか?ところでC#.Net多数のファイルを反復処理中にフリーズする
private void button1_Click(object sender, EventArgs e)
{
try
{
foreach (string file in Directory.GetFiles("\\\\Mypcname-PC\\vxheaven\\malware"))
{
count++;
label1.Text = Convert.ToString(count);
if (file.Contains(textBox1.Text))
{
label1.Text = Convert.ToString(count) + " reached the file";
break;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
:
は、ここに私のコードです。あなたはそれが働いている間、それはリフレッシュできませんUIスレッド上ですべての作業を行っているので、私の悪い英語
よろしく
あなたのコードをお手伝いしたい場合は、コードを示す必要があります。 [あなたの質問を編集する](http://stackoverflow.com/posts/38083668/edit)には、ファイルを繰り返し処理するコードが含まれています。 –
2番目の要素に到達しないと、コード内の問題のように聞こえます。おそらく、あなたがコレクションを変更しているように聞こえるかもしれません。 – Plutonix
私はDirectory.GetFiles()を使用していることを忘れています。 – Yogibear