Reinitialization d'un array

Résolu
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 26 févr. 2008 à 00:17
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 1 mars 2008 à 23:06
Bonsoir

Encore un truc tres simple en C pour lequel en Csharp il faut faire appel a un plombier polonais et un interpreteur de documentation multi neuronal !

J'aimerais remetre a zero tous les elements d'un tableau d'integer déclaré comme suit

int[] counts = new int[50];

Dans ma grande candeur de débutant, j'avais cru naivement que initialize servait a ca mais ca marche pas
Et d'ailleurs la doc ne m'a toujours pas permis de capter ce que ca fait exactement ....

Apres avoir cherché 20 minutes dans la doc j'ai jugé plus rapide de faire une bete boucle.

En C il y avait le tres utile memset !!

5 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
26 févr. 2008 à 00:52
Salut, c'est tout aussi simple :

Array.Clear( tab, 0, tab.Length );
3
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
26 févr. 2008 à 01:05
Merci !
Et initialize, ca sert a quoi ??
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 févr. 2008 à 01:11
Documenté dans MSDN:
This method is designed to help compilers support value-type arrays; most users do not need this method. It must not be used on reference-type arrays.

<hr />
-My Blog-
0
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
26 févr. 2008 à 10:44
Salut

Ouais !

En fait je me demande quel est vraiment l'avantage car avec une "bete" boucle le code n'est pas plus gros et on peut faire plus (choisir la valeur du reset par exemple)

for (int k 0; k < 10; k++) dags[k] 0;

Array.Clear(dags, 0, dags.Length);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
1 mars 2008 à 23:06
Les perfs, surtout sur les gros tableaux.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous