ciao,
io farei una risocrsiva dentro una dir che passerai come parametro, e dentro li farei il "File.ReadAllText" che ti torna la stringa del contenuto del file.
Fatto questo ti basta controllare nella stringa con il "Contains(" se c'e' il codice che ti interessa.
Praticamtne farei in questo modo:
http://www.dotnethell.it/articles/FunzioniRicorsive.aspx
prendo il codice che fa la costruzione dell'albero (ovvero il listato numero 1), e invece di aggiungermi un nodo ad una treeview gli faccio guardare dentro al file, caricandone il contenuto su una stringa, cosi':
private void LeggiDir(string pDir)
{
foreach (string zDirs in System.IO.Directory.GetDirectories(pDir))
{
LeggiDir(zDirs);
}
foreach (string zFls in System.IO.Directory.GetFiles(pDir))
{
string zTestoFile = File.ReadAllText(zFls);
if(zTestoFile.Contains("testo che voglio"))
{
...
magari ti passi una lista come parametro del metodo e vai ad aggiungere il path del file che contiene, etc...oppure scrivi su db non so quello che ti serve quando hai trovato il testo dentro al file.
Questa soluzione non è il massimo dal punto di vista delle prestazioni, perche' va a caricare in memoria l'intero file per ogni dir, puoi migliorarla sicuramente ma se hai file piccoli puo' anche non importarti di questo aspetto....
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo