Vous êtes sur la page 1sur 10

Mohamed DEV Nasiri

Syntex de boucle foreach


foreach (var item in collection)
{
Instructions
..
..
}


Explication des lements de boucle
foreach
la place de Collection : peut tre un variable
(tableau) ou un objet(listbox, richetexbox,
groupbox) ect
Lssenciel que la place de collection en doit
mettre un variable ou un objet qui contient des
element par exemple (tableau dentier est contient
des nombre , groupbox est contient des objet ,
richetexbox est contient des carracters)

Explication des lements de boucle
foreach
la place d item : on choisir un nom significatif qui
jeu le role dun element de la collection dans la boucle
foreach , chaque tour de boucle le contenu de item
change sans utilise un conteur
In : le mot cl in ne change pas il signifier que item est
un lement dans la collection
la place de Var : on mettre le type de litem ou le nom
dun objet qui prend item
Exemple 1
KIKE
foreach (morceau elem in kike. morceaux)
{
couper un (elem) ;
Donner (elem) un enfant ;
}
/*1re tour : elem remplace par le
premier morceau , on couper et
donne le 1re mourceau a un
enfant ect jusqu a la dernier
morceau
La boucle tourne 4 fois car ila 4
morceau*/

Exemple 2
double[] notes={ 16.5 , 10.5 , 12 , 10 , 20 , 5.5 , 9.5};
//affichage dun tableau on utilisant boucle for
For(i=0;i<notes.lenght;i++) // note.lenght est la taile de tableau (7)
{
Console.Write(notes[i]);
}
//affichage dun tableau on utilisant boucle foreach
foreach (double note_etuduant in notes)
{
Console.Write(note_etuduant );
}
/* notes est un tableau de 7 nombre danc la bouckle foreach tourne 7 fois chaque tour
note_etuduant prend une valeur diffirent
Au dpart =16,5 donc on affiche 16,5 au 2me tour note_etuduant=10,5 et affiche le contenu
de note_etuduant qui sera 10,5 etc jusqua la 7 tour note_etuduant=9,5 et on affiche le
contenu de note_etuduant 9,5)
Exemple 3 : vider tout les texbox de cet exemple
foreach (Control elem in Controls) {
if (elem is TextBox)
{
elem.Text = "";
}
}
/*controls cest tous les objet de cet form(5 texbox et un
button ) et control cest le type de elem qui est un un seul
objet qui remplace chaque tour par un outil diffirent (tour
1 : elem remplace par texbox1 et on a un test dans ce cas
elem est vrement un texbox (elem=texbox1) alors
(texbox1.Text=""; ) , tour 2 : elem remplace par
texbox2 et on a un test dans ce cas elem est vrement
un texbox (elem=texbox2) alors (texbox2.Text=""; ),
, tour 6: elem remplace par button1 et on a un
test dans ce cas elem est un button donc on fait
rien et sela la boucle terminee )
Exemple 4 :
foreach (Texbox elem in groupBox1.Controls)
{
elem.Text = "";
}
/*lobjectif c est vider touts les texbox mais cet fois on a les
texbox dans le grupbox alors on doit mettre au place de la
collection le nom de groupbox mais doit mettre apres le nom
de groupbox (.controls) car ici on parle a les outil qui sans
dans le groupbox ( comme dan lexemple N 1 on ecrire
kike.morceaux , on mettre avant elem (Texbox) car on a
seulemrnt les texbox danc chaque tour elem est un texbox
different , si on a dautre control dans groupbox come les
label alors le code doit tre comme a*/
foreach (Control elem in groupBox1.Controls) {
if (elem is TextBox)
{
elem.Text = "";
}
}
/* on a changer Texbox par control car on a des objet different
danc dans la boucle on fait un test est chaque tour de la
boucle elem change et si elem remplace par un texbox le code
(elem.Text = ""; ) est fais et les texbox vider sinon si elem est
un button ou un label la boucle continue jusqu la fin de
boucle)*/


Exemple 5 : copier ts les element de la listbox1 la listbox2
foreach (string jour in listBox1.Items)
{
listBox2.Items.Add(jour);
}
La boucle fait 7 tour car on a 7 lemens
dans la listbox1
/* au 1re tour jour remplace par lundi donc
lundi sera copier dans listbox2
(listBox2.Items.Add(lundi);
au 2me tour jour remplace par mardi donc
mardi sera copier dans listbox2
(listBox2.Items.Add(mardi);
..
au 7me tour jour remplace par dimanche
donc dimanche sera copier dans listbox2
(listBox2.Items.Add(dimanche);
La boucle termine*/

MOHAMED DEV NASIRI

Vous aimerez peut-être aussi