E devo dire che sono rimasto piacevolmente stupito perchè l'idea che mi ero fatto è buona e funziona.
Posto che leggendo un file con StreamReader().ReadToEnd().Slipt(new char[]{'\n'});
si ottenga un array di righe... ed è così, ci si può sbizzarrire in ogni tipo di ricerca sul file, senza ammazzarsi con regular expression.
Questo è il mio file d'esempio giusto per comprendere se il tutto poteva andare:
prima riga
seconda riga
// questa sara contanta come commento
/// questa anche
/// questa pure
Stupendo vero ? Ha tutto quello che mi serve per il mio esempio
class Program
{
public static void Main(string[] args)
{
TextReader tr = new StreamReader("d:/demo.txt");
string[] lines = tr.ReadToEnd().Split(new char[] { '\n' });
tr.Close();
int empty = lines.Count(c => c.Trim() == "");
int comment = lines.Count(c => c.Replace("\t", "").StartsWith("//"));
int total = lines.Count() - (empty + comment);
Console.WriteLine("vuote:" + empty);
Console.WriteLine("commentate:" + comment);
Console.WriteLine("totali:" + total);
Console.ReadLine();
}
}
Come esempio è misero, chiaramente ma è l'intento a farla da padrone.
Immaginate un file di log di 30 mega, immaginate di aprirlo per comprendere se ci
sono errori.. bhe con una 20'ina di righe di codice riuscimo a estrarre solo quello che realmente ci serve!
Nessun commento:
Posta un commento