I don't think calling Directory.GetFiles more than once will be a good idea because it is an IO operation. I recommend that you do something like:
static string[] GetFiles(string directory, params string[] extensions)
{
var allowed = new HashSet<string>(extensions, StringComparer.CurrentCultureIgnoreCase);
return Directory.GetFiles(directory)
.Where(f => allowed.Contains(Path.GetExtension(f)))
.ToArray();
}
static void Main(string[] args)
{
string[] files = GetFiles(@"D:\My Documents", ".TXT", ".docx");
foreach(var file in files)
{
Console.WriteLine(file);
}
}