J'ai un problème que j'ai écrit une application qui parcourrait les fichiers et ajouter +1 à l'entier chaque fichier, jusqu'à ce qu'il atteigne un nom de fichier spécifique. Le problème est probablement dû au fait que .Net n'accède pas directement au système de fichiers natif, il remplit les collections, mais dans mon cas cela prendrait des années, croyez-moi, j'ai 260 000 fichiers dans le dossier cible. L'itération n'atteint même pas le deuxième fichier. Le fil se fige totalement, pas d'erreurs, pas d'exceptions. Alors, y a-t-il un moyen d'obtenir un accès direct au système de fichiers natif sans aucun remplissage de collection inutile?C# .Net Freeze en itérant à travers un grand nombre de fichiers
Voici mon code:
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. Désolé pour mon mauvais anglais
Cordialement
Si vous voulez que nous vous aidions avec votre code, vous devez montrer votre code. [Modifier votre question] (http://stackoverflow.com/posts/38083668/edit) et inclure le code qui itère les fichiers. –
Cela ressemble à un problème dans le code s'il n'atteint jamais le second élément. Peut-être parce qu'il semble que vous modifiez la collection – Plutonix
Désolé d'avoir oublié que j'utilise Directory.GetFiles() – Yogibear