Threads multiples

Signaler
Messages postés
82
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2012
-
Messages postés
82
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2012
-
Bonjour, sil vous plait jai pas compris quest ce quelle fait cette boucle for dans ce code, quelle est l'utilité de cette boucle for

voici le code :

public class thread
{

Thread[] threads;
string sFileNames;
int ithreadIDs;

public void RunThread()
{
string sFile = "";
int id = Thread.CurrentThread.GetHashCode();
//Le trouver dans la liste
for (int i = 0; i < ithreadIDs.length; ++ithreadIDs)

if (id == ithreadIDs[i])
sFile = sFileNames;

//Si nous trouvons un nom de fichier pour ce thread, compter les lettres
StreamReader sr = File.OpenText(sFile);
int nCount = 0;
while ( sr.Peek()! = -1)
{
int ch = sr.Read();
nCount++;
}
sr.Close();

2 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
Hello,

un bon exemple de code mal écrit !

je pense qu'il faut le lire comme ceci :

for (int i = 0; i < ithreadIDs.length; ++ithreadIDs) {
   if (id == ithreadIDs[i]) {
      sFile = sFileNames; 
   }
}


en tout cas, c'est comme ceci qu'il sera interprété !

je dirais que ça vérifie que l'id est présent dans le tableau... et si c'est le cas, ça garde la valeur de sFileNames dans sFile...

Autre façon de l'écrire (en plus prpore) :

if (ithreadIDs.Any(i => i == id)) {
   sFile = sFileNames;
}



Sébastien FERRAND
Ingénieur Concepteur Senior
Microsoft Visual C# MVP 2004 - 2009
Blog Photo
Messages postés
82
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
24 novembre 2012

Bonjour,

Je comprend pas ce que vous avez codé là :
pouvez vous m'expliquer cette instruction
if (ithreadIDs.Any(i => i == id))