我遇到了一個問題,那就是我編寫了一個應用程序,該應用程序會遍歷文件並將+1加到每個文件的整數中,直到達到特定文件名。問題可能是因爲.Net不直接訪問本地文件系統,它填滿了集合,但在我的情況下,需要幾年,相信我,目標文件夾中有260 000個文件。迭代甚至沒有達到第二個文件。線程完全凍結,沒有錯誤,沒有例外。那麼有沒有什麼辦法可以直接訪問本地文件系統而不需要任何無用的集合填充?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);
}
}
BTW。對不起,我的英語不好
問候
如果你希望我們幫助你的代碼,你需要顯示你的代碼。 [編輯你的問題](http://stackoverflow.com/posts/38083668/edit),幷包含用於傳播文件的代碼。 –
聽起來像代碼中的問題,如果它永遠不會到第二個元素。可能是因爲它聽起來像你可能正在修改集合 – Plutonix
抱歉忘記包括我使用Directory.GetFiles() – Yogibear