Playing with LinqToObject I create this simple code. Maybe it could be useful for somebody.
public static List<string> SystemFiles(string directory, string pattern, string fileextension) {
List<string> returnList = new List<string>();
if(fileextension==")
fileextension = "*.*"
string[] files = Directory.GetFiles(directory, fileextension);
var outfiles = (from file in files select new { FileName = file, FileLines = File.ReadAllLines(file) }).Select(x => x).Where(x => x.FileLines.Select(line => line).Where(line => Regex.Match(line, pattern).Success).Count() !=0).Select(x => x.FileName);
foreach (string s in outfiles)
{
string str = new FileInfo(s.ToUpper()).Name.ToUpper();
str = str.Substring(0, str.Length - 4);
returnList.Add(str);
}
return returnList;
}