Objet Timer en C# [Résolu]

cs_Bumcello 30 Messages postés lundi 17 octobre 2005Date d'inscription 4 janvier 2008 Dernière intervention - 8 nov. 2006 à 13:10 - Dernière réponse : cs_badrbadr 475 Messages postés jeudi 19 juin 2003Date d'inscription 3 novembre 2008 Dernière intervention
- 8 nov. 2006 à 17:23
Bonjour,
Je souhaite récupérer le temps que va mettre l'instruction suivant grâce à l'objet Timer en mode console. Et le problème c'est que cela retourne toujours la valeur 100 même en changeant le nombre de boucle, avec myTimer.Interval.
Je ne vois pas comment faire :
       - Peut être que j'utilise mal le Timer
       - Peut être "myTimer.Interval"
je ne sais pas donc si je pourrai avoir de l'aide pour m'expliquer ou me montrer comment je pourrai faire svp.

Voici le programme commenter.

using System;
namespace ConsoleApplication1
{
    class Class1
    {
        static void Main(string[] args)
        {
            // Création de l'objet Timer myTimer
            System.Timers.Timer myTimer = new System.Timers.Timer ();
            Console.WriteLine();
            // Démarage du timer
            myTimer.Start();
            for (int i =0;i<100;i++)
            {
                Console.Write (".");
            }
            // Arret du timer
            myTimer.Stop();
            Console.WriteLine();
            // Récuperer le tps qui s'est écouler avec interval
            Console.WriteLine("Temps = " + myTimer.Interval );
            Console.ReadLine();
        }
    }
}

MERCI D'AVANCE

Cordialement Bumcello

C'est pas la rue kétanou mais nous qui sommes à la rue
        
                      &
Afficher la suite 

Votre réponse

2 réponses

cs_badrbadr 475 Messages postés jeudi 19 juin 2003Date d'inscription 3 novembre 2008 Dernière intervention - 8 nov. 2006 à 17:23
+3
Utile
Oui, DateTime fait l'affaire ;p c de l'ordre du milliseconde.

DateTime dt = DateTime.Now;
//tu fais tes instructions
Console.WriteLine("Durée : " + (TimeSpan)(DateTime.Now - dt));

J'ai pas testé mais ça doit fonctionner.

[:D] @++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_badrbadr
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 8 nov. 2006 à 13:32
0
Utile
Hello,

C'est normal, car l'objet Timer ne sert pas à mesurer le temps, mais à lever un event lorsqu'un délai est passé.
C'est ce délai que retourne la propriété Interval.

Pour calculer un temps comme tu veux le faire, tu peux utiliser simplement les DateTime, en regardant le DateTime.Now avant et après et en faisant la différence. Ce n'est pas extêmement prècis, mais ça suffit la plupart du temps.
Si tu as besoin de quelque chose de plus précis, tu peux regarder du côté des Stopwatch

Amicalement, SharpMao
Commenter la réponse de SharpMao

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.