Я наткнулся на это в поисках метода, который бы делал это, чтобы исключение могло использовать правила шаблона поиска, а не только логику типа EndWith.
например. Совпадения по шаблону шаблона поиска:
- * (звездочка) Ноль или более символов в этой позиции.
- ? (вопросительный знак) Ноль или один символ в этой позиции.
Это можно использовать для вышеизложенного следующим образом.
string dir = @"C:\Temp";
var items = Directory.GetFiles(dir, "*.*").Except(Directory.GetFiles(dir, "*.xml"));
Или исключить элементы, которые в противном случае были бы включены.
string dir = @"C:\Temp";
var items = Directory.GetFiles(dir, "*.txt").Except(Directory.GetFiles(dir, "*HOLD*.txt"));