[C#] Convertir ArrayList en string?

Résolu/Fermé
feadin91 Messages postés 257 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 28 avril 2010 - 15 févr. 2010 à 15:44
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 - 15 févr. 2010 à 20:44
Bonjour,

J'ai un tableau d'entiers de taille inconnue (elle dépend de la date considérée et des données d'une base de données en fonction de cette date) mais j'aimerais le transformer en une seule String avec une virgule (',') comme séparateur (pour utiliser un filtre sur un BindingSource tel que "IdData IN ([param1,param2,paramN])" où [param1,param2,paramN] désigne ma String formattée à partir du ArrayList.

Pouvez vous m'aider svp?

Merci.

Pour le moment, j'essaie en faisant ceci :

string[] oArrList = _listeDatesIntervale.ToArray(typeof(string)) as string[];
            string oParams;
            oParams = string.Join(",", oArrList);
            this.dataBindingSource.Filter = string.Format("IdDate IN {0}", oParams);

3 réponses

Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 52
15 févr. 2010 à 18:18
Lu pour l'instant je ne me suis pas lancé dans le C# ( pas le temps ) mais à ta place je ferais une boucle:

int i = 0;
String sList = "";
while(oArrList[i] != '\0')
{
   sList += ArrList[i];
   i++;
} 

Je suis pas sur que ce code est correct en C# et espère t'avoir aider !

Cordialement Zestyr
2
feadin91 Messages postés 257 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 28 avril 2010 89
15 févr. 2010 à 18:27
Merci pour ta réponse.

Bah C# est un outil un peu plus performant que le C++ (ce serait pas drôle sinon) et il y aurait moyen de reprendre ton idée en l'améliorant.

J'avais pensé à une boucle, en effet, mais comme la base de données risque d'être très conséquente, cela risque de devenir très lourd au niveau du temps d'exécution
Je pense notamment au cas où le client déciderait de récupérer toutes les données de l'année, avec un pas de temps d'une seconde minimum... Un rapide calcul et on trouve 31 556 926 itérations dans ce cas. (le cas est possible)

Mais faute de mieux, je vais faire avec une boucle en attendant. Je posterais le code lorsque je l'aurais terminé, pour les futurs programmeurs qui chercheront comme moi. ;)
0
Zestyr Messages postés 466 Date d'inscription mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 52
15 févr. 2010 à 20:44
Bah C# est un outil un peu plus performant que le C++ (ce serait pas drôle sinon) et il y aurait moyen de reprendre ton idée en l'améliorant.

Contrairement au C# le C++ n'est pas dutout interprété ce qui le rend beaucoup plus performant ! Au niveau des bibliothèque C++ dispose du même environnement (.NET) sous Windows ! L'intérêt de C# est qu'il est très haut niveau , que ça syntaxe est intéressante. La syntaxe objet se raproche beaucoup de celle du Java et parait très poussée. De plus C# permet de développer des applications multiplate-form comme Java à la différence que Java est exécuté par une machine virtuel alors que C# est exécuté par la machine soutenu par un environnement ( .NET framework, MONO ) !

++
0