Page 2 sur 2

Re: [DB/MY-AL]Parcours de Circuit

Publié : 18 Oct 2018 13:14
par djulio74
C'est Foreach qu'il faut éviter et remplacer par for. Qui marche aussi bien avec des list ou des array. faut juste utiliser Length ou Count pour avoir leur longueur.

Code : Tout sélectionner

		int valeur = new int();
		
		List<int> LISTE = new List<int>();
		for ( int i = 0 ; i < LISTE.Count ; i++){
			LISTE[i] = valeur;	// pour modifier une valeur dans la liste
			valeur = LISTE[i];	// pour assigner a une valeur l'élément de la liste
		}
		
		int[] ARRAY = new int[10];
		for ( int i = 0 ; i < ARRAY.Length ; i++){
			ARRAY[i] = valeur;	// pour modifier une valeur dans L'array
			valeur = ARRAY[i];	// pour assigner a une valeur l'élément de l'array
			
		}
;)

Re: [DB/MY-AL]Parcours de Circuit

Publié : 18 Oct 2018 15:47
par EmileF
Ok, ça je sais utiliser les 2 formules, j'ai cru qu'il fallait éviter les List, et ça m'embêtait.
pour ce qui est des Foreach, ça ne me gêne pas trop.

Re: [DB/MY-AL]Parcours de Circuit

Publié : 25 Oct 2018 11:26
par Alesk
Foreach fait plus d'allocations en mémoire que For, donc c'est moins "propre" de ce point de vue.

Ensuite, pour le choix entre Array et List, c'est vraiment dépendant de ce que l'on fait.
Mais d'une manière générale on peut utiliser la classe List, même si c'est légèrement plus lent d'accès que Array.
L'utilisation de Array est plutôt spécifique aux optimisations pointues, dans les cas où de hautes performances sont attendues sur des traitements de beaucoup de données.

Re: [DB/MY-AL]Parcours de Circuit

Publié : 25 Oct 2018 15:34
par EmileF
Je te remercie

Ca ne me gêne pas d'utiliser For plutôt que Foreach. Je ne savais pas que c'était moins "Propre", je pensais même le contraire.
Par contre il y a des cas ou j'aurais eu du mal à remplacer List par Array.

Donc tout va bien

Merci