Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    c# ordinare array di tipo DateTime

    ciao, ho 1 vettore d tipo DateTime, e vorrei sapere cn quale funzione posso ordinare l array, secondo il criterio della data.
    esempio:
    v[0] = 1 febbraio 2000;
    v[1] = 1 gennaio 2000;
    v[2] = 1 maggio 2000;
    v[3] = 1 aprile 2000;

    vorrei ke alla fine l array sia ordinato così:
    v[0] = 1 gennaio 2000;
    v[1] = 1 febbraio 2000;
    v[2] = 1 aprile 2000;
    v[3] = 1 maggio 2000;

    cm posso fare?

  2. #2
    ho risolto. uso il metodo DateTime.Compare(DateTime t1, DateTime t2) all interno di 2 cicli.

  3. #3
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Non servono i cicli. Basta utilizzare il metodo statico della classe Array e si arrangia lui

    Esempio:
    codice:
                DateTime[] v = new DateTime[4];
    
                // Popolamento con i dati
                DateTime.TryParse("01/02/2010", out v[0]);//febb
                DateTime.TryParse("01/01/2010", out v[1]);//gen
                DateTime.TryParse("01/05/2010", out v[2]);//magg
                DateTime.TryParse("01/04/2010", out v[3]);//appr
    
                Array.Sort(v);// dopo questa istruzione l'array è ordinato
    Quel metodo funziona con tutti le classi che imlementano IComparable.

    http://msdn.microsoft.com/it-it/libr...=VS.80%29.aspx
    http://msdn.microsoft.com/it-it/libr...=VS.80%29.aspx
    I got the remedy

  4. #4
    il metodo DateTime.TryParse() cosa fa?

  5. #5
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da microprocessore
    il metodo DateTime.TryParse() cosa fa?
    ah semplicemente converte una stringa in una data...
    I got the remedy

  6. #6
    e a cosa mi serve convertirlo in data, se il vettore è gia d tipo datetime?

  7. #7
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da microprocessore
    e a cosa mi serve convertirlo in data, se il vettore è gia d tipo datetime?
    Invece di fare domande su array.sort mi chiedi su DateTime.Parse
    c'è scritto in chiaro che servono per il:
    // Popolamento con i dati
    DateTime.TryParse("01/02/2010", out v[0]);//febb
    DateTime.TryParse("01/01/2010", out v[1]);//gen
    DateTime.TryParse("01/05/2010", out v[2]);//magg
    DateTime.TryParse("01/04/2010", out v[3]);//appr

    quindi converte una stringa(ovviamente che assomiglia minimamente a una data) qualsiasi in una data e lo assegna nel parametro out in questo caso nel vettore.
    Non capisco qual'è la tua perplessità :master:
    E poi basta scrivere su google Datetime.Parse e il primo rislutato è:
    http://msdn.microsoft.com/it-it/libr...8VS.80%29.aspx
    cioè la pagina di documentazione ufficiale per quel metodo.
    Sperò di essere stato chiaro anche perchè più di cosi' non sò come spiegartelo.
    I got the remedy

  8. #8
    Originariamente inviato da albgen
    quindi converte una stringa(ovviamente che assomiglia minimamente a una data) qualsiasi in una data e lo assegna nel parametro out in questo caso nel vettore.
    il mio dubbio sta nel fatto ke avendo 1 vettore già carico, nn posso passare direttamente ad Array.Sort evitando DateTime.TryParse?

  9. #9
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Originariamente inviato da microprocessore
    il mio dubbio sta nel fatto ke avendo 1 vettore già carico, nn posso passare direttamente ad Array.Sort evitando DateTime.TryParse?
    Ma assolutamente SI che puoi passare direttamente ad Array.Sort.
    Quello è un esempio che ho fatto io e non stà a indicare il metodo migliore per popolare un array di date. Era semplicemente un esempio.Tutto qui.
    I got the remedy

  10. #10
    Originariamente inviato da albgen
    Ma assolutamente SI che puoi passare direttamente ad Array.Sort.
    Quello è un esempio che ho fatto io e non stà a indicare il metodo migliore per popolare un array di date. Era semplicemente un esempio.Tutto qui.
    ok. ultima domanda, se io ho 1 classe o 1 struct ke ha i parametri:

    codice:
    struct/class appuntamento 
    { 
    public string nome_evento; 
    public DateTime data_evento; 
    }
    e ho 1 vettore d tipo appuntamento.
    facendo così:
    Array.Sort(v.data_evento, v);
    otterro l ordinamento d ogni cella del vettore in base all attributo data_evento dell array, o solo l ordinamento dell attributo data_evente d ogni cella?

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.