Il Genio
30-07-2007, 12:02
Ciao a tutti!
Sto tentando di creare un indicizzatore di file in C#, ma sono incappato in un bel problema. Comincio spiegando il procedimento dall'inizio.
Inizialmente i file trovati nell'hard disk li inserivo in una lista generica di stringhe (inserivo il percorso completo), ma quando si ha a che fare con un numero molto elevato di file, si ha un consumo spropositato di memoria.
Ho così utilizzato una struttura ad albero (per nn avere un percorso ripetuto più volte).
Es.
C:\
Documents and Setting\
file_ds1.est
file_ds2.est
Programmi\
CartellaProgramma1\
fileCartellaProgramma1.est
file.est
(spero si veda l'identazione).
Quindi, nel momento in cui cerco un file, viene eseguita la ricerca, e il file trovato verrà visualizzato nell'elenco risultati: se l'utente clicca sopra il risultato, esso viene aperto.
Il problema comunque persiste, sebbene in misura minore: si ha ugualmente un elevato consumo di memoria.
Esiste qualche soluzione? E' possibile aggirare il problema?
Sto tentando di creare un indicizzatore di file in C#, ma sono incappato in un bel problema. Comincio spiegando il procedimento dall'inizio.
Inizialmente i file trovati nell'hard disk li inserivo in una lista generica di stringhe (inserivo il percorso completo), ma quando si ha a che fare con un numero molto elevato di file, si ha un consumo spropositato di memoria.
Ho così utilizzato una struttura ad albero (per nn avere un percorso ripetuto più volte).
Es.
C:\
Documents and Setting\
file_ds1.est
file_ds2.est
Programmi\
CartellaProgramma1\
fileCartellaProgramma1.est
file.est
(spero si veda l'identazione).
Quindi, nel momento in cui cerco un file, viene eseguita la ricerca, e il file trovato verrà visualizzato nell'elenco risultati: se l'utente clicca sopra il risultato, esso viene aperto.
Il problema comunque persiste, sebbene in misura minore: si ha ugualmente un elevato consumo di memoria.
Esiste qualche soluzione? E' possibile aggirare il problema?