Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C#] Problema con Timer

    ciao!
    ho un programma che fa tutta una serie di operazioni.
    finite queste operazioni dovrebbe apsettare 5 secondi e poi chiudere il programma.
    ho pensato di usare la classe Timer, ma non mi funziona:
    codice:
        class Program
        {
            static void Main(string[] args)
            {
                // ALTRE OPERAZIONI
                Console.WriteLine("TRA 5 SECONDI IL PROGRAMMA SI CHIUDERA");
                Timer t = new Timer();
                t.Elapsed += new ElapsedEventHandler(closeProgram);
                t.Interval = 5000;
                t.Enabled = true;
                GC.KeepAlive(t);
            }
    
            private static void closeProgram(object source, ElapsedEventArgs e)
            {
                System.Environment.Exit(0);
            }
        }
    in pratica esce subito senza aspettare.
    da cosa dipende??

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se il main termina, il programma termina ... e il tuo main termina prima del tuo timer.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    in teoria questa riga:
    GC.KeepAlive(t);

    non dovrebbe evitare proprio questo comportamento?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da fermat
    in teoria questa riga:
    GC.KeepAlive(t);

    non dovrebbe evitare proprio questo comportamento?
    No ... quella istruzione non impedisce al main di terminare.

    Sostituiscilo con

    Console.ReadKey();
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    perfetto.
    così funziona.
    grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.