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

    ordinare un array di files in c#

    C#

    ciao vorrei un aiuto x ordinare(x Lastwritetime) il mio array di file che mi identifica il contenuto di una cartella


    DirectoryInfo fl = new DirectoryInfo(Folder);

    FileInfo [] childfiles = fl.GetFiles("*.*");

    foreach (FileInfo childfile in childfiles)
    {
    // controllo se il file analizzato è scaduto
    if(DataScadenza > childfile.LastWriteTime)
    {
    childfile.Delete();
    }

    }

    Ora io vorrei che il mio array di file fosse ordinato per LastWriteTime in modo da poter uscire subito dal ciclo appena trova un file non scaduto.

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Non esiste un modo per ordinare in modo automatico l'array di FileInfo, devi gestirtelo a mano.

    Per eseguire query e operazioni complicate sul filesystem o sul sistema è consigliabile l'utilizzo di WMI e quindi delle classi presenti in System.Management.
    In questo caso con WMI si potrebbe fare una cosa del genere:

    codice:
    ObjectQuery query = new ObjectQuery(@"SELECT * FROM CIM_LogicalFile WHERE Drive = 'c:' AND Path = '\\prova\\'
     AND LastModified < '" + dtScadenza.ToString("yyyyMMdd hh:mm:ss").Replace('.', ':') + "'");
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
    foreach (ManagementObject file in searcher.Get()){
    Console.WriteLine(file.GetPropertyValue("Path").ToString());	
    Console.WriteLine(file.GetPropertyValue("Name").ToString());
    }
    Oltre a permetterti di fare query abbastanza complesse prestazionalmente dovrebbe essere decisamente migliore.

    La documentazione della classe CIM_LogicalFile usata in questo caso la puoi trovare su http://msdn.microsoft.com/library/de...ogicalfile.asp

    HTH
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

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.