Précédent   Forum du club des développeurs et IT Pro > Dotnet > Général Dotnet > Framework .NET
Framework .NET Vos questions relatives à l'utilisation des différents Framework .NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 25/10/2012, 00h39   #1
hakoun
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2012
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : octobre 2012
Messages : 7
Points : -1
Points : -1
Par défaut code click bouton

Bonjour,

j'ai ce click bouton :

Code :
1
2
3
4
5
6
7
8
9
10
private void button1_Click(object sender, EventArgs e)
{
    Client[] clients;
    clients = this.GetClients();
 
    for (int i = 0; i < clients.Length; i++)
    {
        clients[i].ChiffreAffaire = 0;
    }
}
A l’exécution, mon tableau contient 10 000 clients, l’affichage est gelé pendant plusieurs secondes !

Je cherche à faire une optimisation afin d'alléger le traitement pour le compilateur ?

Je ne sais pas comment

SI vous avez la moindre idée, je suis preneur !

Merci par avance

Cdt,

HAKOUN
hakoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2012, 00h54   #2
Graffito
Expert Confirmé Sénior
 
Avatar de Graffito
 
Inscription : janvier 2006
Messages : 5 390
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 5 390
Points : 6 036
Points : 6 036
Bonjour,

Faire 10 000 affectations devrait être instantané.

Mets une instruction MessageBox.Show("xx") après this.GetClients() pour déterminer si (1) c'est GetClients ou si (2) la boucle qui prend sur temps.
  • si (1), que fait exactement la fonction GetClients() ?
  • si (2), est-ce que clients est "bindé", c'est à dire utilisé comme DataSource d'un control ?
__________________
" Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson
Graffito est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/11/2012, 14h40   #3
Skalp
Rédacteur/Modérateur
 
Avatar de Skalp
 
Homme Pascal
Développeur .NET
Inscription : novembre 2006
Messages : 1 594
Détails du profil
Informations personnelles :
Nom : Homme Pascal
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : novembre 2006
Messages : 1 594
Points : 2 960
Points : 2 960
Pour les traitements longs, il y a le BackgroundWorker qui permet de ne pas "freezer" l'interface utilisateur : http://msdn.microsoft.com/fr-fr/libr...ckgroundworker puisque le traitement est effectué dans un thread séparé.
Skalp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h59.


 
 
 
 
Partenaires

Hébergement Web