Listbox en C#

Signaler
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011
-
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011
-
Bonjour à tous;
je suis entrain de construire une application en C# et un mement je veux calculer la somme des notes enregestré sur une listbox mais jai aucune aider comment faire. en vb6 c'est façile mais là je me suis coincer.
merci d'avance pour m'aider.

12 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Bonjour,
Il suffit d'itérer à travers les items de la listbox en les aditionnant.
Il divise ensuite la somme par le nombre d'élément, facile non?

genre:
int sum = 0;
foreach(var x in mylist)
{
  sum += x;
}

var result = sum / count;

<hr />
-My Blog-
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
5
Et pourquoi ce serait difficile à faire en C# ?

int total=0;
foreach(object o in listBox1.Items)
{
     total += int.Parse((string)o);
}

En supposant que tu veux additioner des entiers sauvegardés dans ta liste en chaines de caractères.
Messages postés
339
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
25 mars 2009
5
Damned, Bidou est plus rapide :/

Mon dieu que c'est moche et non lisible ce "var".
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011

merci à vous;
mais quand j'exécute le programme, alors là le programme s'arret et il y a une erreur de type:( Impossible d'effectuer un cast d'un objet de type 'System.Double' en type 'System.String'.
donc et voila le code.
double SOM = 0;
int nb = listBox1.Items.Count;
foreach (object o in listBox1.Items)
{
SOM += double.Parse((string)o);
}
les elements sont de type double.
merci bcp à tous le monde pour l'aide.
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011

dsl pour la mise en forme :

double SOM = 0;

int nb = listBox1.Items.Count;

foreach (object o in listBox1.Items)

{

SOM += double.Parse((string)o);

}
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011

aaah le prb que je fait copier coler le code alorq voilà:
double SOM = 0;
int nb = listBox1.Items.Count;
foreach (objet o in listBox1.Items)
{
SOM += double.Parse((string)o);
}
dsl encore ;)
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011

j'arreve pas à écrire correctements je n'ai marre.
et je peux pas supprimer les messages dans le forum ;(
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011

voila mes amis le famous code:
double SOM = 0;
int nb = listBox1.Items.Count;
foreach (objet o in listBox1.Items)
{
SOM += double.Parse((string)o);
}
;)
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Si il te donne l'erreur "Impossible d'effectuer un cast d'un objet de type 'System.Double' en type 'System.String'.", as tu essayé d'enlever le cast en string ?
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011

OK, et merci bcp pour la réponse ;)
Messages postés
296
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
18 août 2008

Ca fonctionne ?
Messages postés
42
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
7 avril 2011

oui ça va maintenent et voila le code:private void button5_Click(object sender, EventArgs e)
{
//enregestrer les donner depuis une listbox ds un fichier texte
StreamWriter sw = new StreamWriter(@"c:\fifi.txt");
foreach (Object o in listBox1.Items)
{
sw.WriteLine(double.Parse(o.ToString()));//double.Parse(listBox1.Items[i].ToString()));
}
sw.Close();
}

private void button6_Click(object sender, EventArgs e)
{
//charger un fichier texte sur une listbox
listBox1.Items.Clear();
StreamReader sr = new StreamReader(@"c:\fifi.txt");
while (!sr.EndOfStream)
{
listBox1.Items.Add(sr.ReadLine());
}
sr.Close();
}